初试Docker 搭建SpringBoot 项目

简介

简单介绍Spring项目使用Docker部署的过程。其中docder的各种好处与使用在这里就不再介绍了。
大家可在这里学习docker www.runoob.com/docker/docker-tutor...
步骤:本机安装 docker -> 新建Spring项目 -> 创建docker file -> 创建镜像 -> 本机测试 -> 上传docker镜像 -> 服务器安装 docker -> 拉取 docker -> 运行 docker.

环境

  • 本地环境:Windows8 , java1.8 , idea2017.1.3
  • 服务器环境: cenos7.3

    docker 本地安装(点击查看)

    • 启动docker
      在安装目录下打开~\bash.sh文件。如下表示成功

初试Docker 搭建SpringBoot 项目
打开PowerShell工具,输入docker images,可知查无镜像。

创建Spring项目

初试Docker 搭建SpringBoot 项目

初试Docker 搭建SpringBoot 项目

初试Docker 搭建SpringBoot 项目
创建成功后, 新建一个TestController 并写上一个简单的接口

@GetMapping("/hello")
public String hello(){

    return "hello docker!";
}

运行项目,在浏览器中访问接口

初试Docker 搭建SpringBoot 项目

  • 打包出 jar 包
    在项目的目录下运行 mvn install , 可在tagrat 目录下找到jar 如图:

初试Docker 搭建SpringBoot 项目

创建 Dockerfile配置

Dockerfile的创建位置就是在项目的根目录下,与pom.xml平级。在这里我创建了一个名为dockerfile的文件,无需后缀。
文件内容:

#依赖的基础镜像jdk8
FROM java:8
#需要暴露出去的端口,也就是我项目的端口
EXPOSE 8080
#作者信息
MAINTAINER haile
#将主机环境的jar包,以文件名demo.jar添加到docker镜像中。就是因为这条命令,mavnen运行报错
ADD /target/demo-0.0.1-SNAPSHOT.jar dockerdemo.jar
#启动容器之后,默认的运行命令
ENTRYPOINT ["java","-jar","dockerdemo.jar"]

然后在Dockerfile同级目录下使用命令docker build -t dockerfile .,生成之后使用docker images可以查看到生成的dockerfile镜像,如果是第一次将会较慢,需要下载jdk8的镜像。

初试Docker 搭建SpringBoot 项目

创建容器

运行命令 docker run -p 6060:8080 -t dockerfile,创建一个镜像实例,然后以宿主机的6060端口链接docker容器的8080端口。然后可以运行任意多个实例。能看到 Spring 项目运行成功!
初试Docker 搭建SpringBoot 项目
通过浏览器访问宿主机ip和端口, 可正常访问 。

初试Docker 搭建SpringBoot 项目

上传镜像

hub.docker.com/ 上注册自己的账号并创建仓库,在这里我创建了一个 haixia\dockerfile 仓库,
初试Docker 搭建SpringBoot 项目
-上传
先登录,输入刚才的用户名密码。

docker login --username=haixia

上传镜像值hub仓库
docker pull dockerfile
这里你会发现 hub 仓库,拒绝我们的请求,我们需要把镜像名改成与hub一致。
docker tag 镜像ID Docker ID/仓库名:新的标签名(tag)
docker tag bd213262aa2c haixia/dockerfile:latest

初试Docker 搭建SpringBoot 项目

然后在 docker pull haixia/dockerfile 可成功!

服务器端安装与部署

Cenos Docker 安装
Docker 支持以下的 64 位 CentOS 版本:

安装完成后 docker 默认是关闭的! 通过命令开启
sudo systemctl start docker
登录并下载镜像文件

$ docker login --username=haixia
$ docker pull haixia/dockerfile

初试Docker 搭建SpringBoot 项目
查看镜像

[root@iZf0ksq5sifurtZ /]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
haixia/dockerfile   latest              665c5b2652fb        3 days ago          661MB
[root@iZf0ksq5sifurtZ /]# 

接下来就可以运行运行镜像文件了

 docker run -p 6060:8080 -t haixia/dockerfile

将服务器的 6060 端指向 docker 的8080 端口。

初试Docker 搭建SpringBoot 项目

浏览器 访问 ip+端口/hello,表示成功!

初试Docker 搭建SpringBoot 项目

结语

已初叔完成 docker 的使用。后续将继续研究 spring + mysql +redis 的 docker 部署。

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!