使用 Docker 部署 Spring Boot之项目的部署

这篇文章是对上篇的延续,对springboot项目进行部署。

本系列文章:

使用 Docker 部署 Spring Boot之项目的构建

使用 Docker 部署 Spring Boot之项目的部署


安装docker环境

需要大家安装jdk,maven环境,以及docker容器,本文不对环境详细描述。


部署springboot项目

第一步

这里使用上篇中构建的项目,将项目 boot2.0拷贝服务器中,并进入项目路径下进行打包,我们使用 DockerFile 构建镜像

[root@localhost workspace]# cd boot2.0
[root@localhost boot2.0]# ll
total 20
-rw-r--r--. 1 root root 6468 Apr 21 11:24 mvnw
-rw-r--r--. 1 root root 4994 Apr 21 11:24 mvnw.cmd
-rw-r--r--. 1 root root 2822 Apr 21 11:24 pom.xml
drwxr-xr-x. 4 root root   30 Apr 21 11:24 src
drwxr-xr-x. 9 root root  229 Apr 21 12:18 target
[root@localhost boot2.0]# mvn clean package docker:build -DskipTests

mvn clean package docker:build -DskipTests

先clean在打包,顺便跳过测试,嗯哼!

第一次构建可能有点慢,当看到以下内容的时候表明构建成功:

[INFO] Using authentication suppliers: [ConfigFileRegistryAuthSupplier]
[INFO] Copying /usr/local/workspace/boot2.0/target/boot2.0-0.0.1-SNAPSHOT.jar -> /usr/local/workspace/boot2.0/target/docker/boot2.0-0.0.1-SNAPSHOT.jar
[INFO] Copying src/main/docker/Dockerfile -> /usr/local/workspace/boot2.0/target/docker/Dockerfile
[INFO] Building image springboot/boot2.0
Step 1/4 : FROM openjdk:8-jdk-alpine
 ---> 224765a6bdbe
Step 2/4 : VOLUME /tmp
 ---> Using cache
 ---> dfdf6620266f
Step 3/4 : ADD boot2.0-0.0.1-SNAPSHOT.jar app.jar
 ---> 9a42c2f71861
Removing intermediate container 2f6115530f72
Step 4/4 : ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom -jar /app.jar
 ---> Running in 0c882503bfef
 ---> 331cbf8ec0b5
Removing intermediate container 0c882503bfef
Successfully built 331cbf8ec0b5
Successfully tagged springboot/boot2.0:latest
[INFO] Built springboot/boot2.0
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 41.011 s
[INFO] Finished at: 2018-04-25T13:40:51+08:00
[INFO] ------------------------------------------------------------------------

第二步

使用docker images命令查看构建好的镜像:

[root@localhost boot2.0]# docker images
REPOSITORY           TAG                 IMAGE ID            CREATED              SIZE
springboot/boot2.0   latest              331cbf8ec0b5        About a minute ago   138MB

 第三步

springboot/boot2.0就是我们构建好的镜像,下一步就是运行该镜像

[root@localhost boot2.0]# docker run -p 8080:8080 --name kl_boot -t springboot/boot2.0 

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.0.0.RELEASE)

2018-04-25 05:45:53.785  INFO 1 --- [           main] com.example.boot.Application             : Starting Application v0.0.1-SNAPSHOT on c03eba483c5c with PID 1 

docker run -p 8080:8080 -t springboot/boot2.0

-t操作: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;(可不使用)----

直接使用此指令也可:

docker run -p 8080:8080 --name kl_boot -d springboot/boot2.0

第四步

使用postman访问服务

使用 Docker 部署 Spring Boot之项目的部署_第1张图片

至此,说明使用 Docker 部署 Spring Boot 项目成功!


后续

查看容器 docker ps

[root@localhost boot2.0]# docker ps -a
CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS                        PORTS        NAMES
2323fecbf610        7c971aa5f75c          "java -Djava.secur..."   4 days ago          Exited (143) 2 days ago                    kl_boot                     

启动容器 docker start kl_boot

[root@localhost boot2.0]# docker start kl_boot
kl_boot 

天空,大家一起学习可好。


参考:

http://www.runoob.com/docker/docker-install-redis.html

http://www.ityouknow.com/springboot/2018/03/19/spring-boot-docker.html

你可能感兴趣的:(spring-boot,docker)