Docker:部署JAR镜像制作

Posted 陌生谁家年少

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker:部署JAR镜像制作相关的知识,希望对你有一定的参考价值。

一、准备

  • JDK镜像

jdk镜像制作可移步小生前面博文:Docker:JDK镜像制作,此处也用到了之前制作好的jdk镜像:jdk-8u221:v1

  • jar包:zyysys-0.0.1-SNAPSHOT.jar

二、制作镜像

1.创建Dockerfile

  • 新建一个DCzyysys文件夹方便打包
mkdir ~/DCzyysys
  • 进入DCzyysys目录下,构建Dockerfile文件
# This is a JAR servic docker
FROM jdk-8u221:v1
MAINTAINER chao
RUN mkdir /home/workspace && mkdir /home/workspace/zyysys

EXPOSE 7999
CMD ["nohup","java","-jar","/home/workspace/zyysys/zyysys-0.0.1-SNAPSHOT.jar","&"]

3.使用Dockerfile构建镜像

docker build -t zyysys:v1 .

chao@localhost:~/DCzyysys$ docker build -t zyysys:v1 .
Sending build context to Docker daemon  2.048kB
Step 1/5 : FROM jdk-8u221:v1
 ---> 87c2abc2bff8
Step 2/5 : MAINTAINER chao
 ---> Running in f00f486aacc5
Removing intermediate container f00f486aacc5
 ---> fa12d4db451d
Step 3/5 : RUN mkdir /home/workspace && mkdir /home/workspace/zyysys
 ---> Running in e71aa84a2531
Removing intermediate container e71aa84a2531
 ---> 1fe4213ab558
Step 4/5 : EXPOSE 7999
 ---> Running in 50125fd92daf
Removing intermediate container 50125fd92daf
 ---> 6e98238f0611
Step 5/5 : CMD ["nohup","java","-jar","/home/workspace/zyysys/zyysys-0.0.1-SNAPSHOT.jar","&"]
 ---> Running in 14932b678466
Removing intermediate container 14932b678466
 ---> 5f16e23de0a3
Successfully built 5f16e23de0a3
Successfully tagged zyysys:v1

4.查看镜像

chao@localhost:~/DCzyysys$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
zyysys              v1                  5f16e23de0a3        56 seconds ago      609MB
jdk-8u221           v1                  87c2abc2bff8        5 hours ago         609MB
centos              latest              9f38484d220f        5 months ago        202MB

三、上传jar包与镜像启容器

1.上传jar包

上传 zyysys-0.0.1-SNAPSHOT.jar至工程目录zyysys

workspace@localhost:~/zyysys$ ls
zyysys-0.0.1-SNAPSHOT.jar

2.通过镜像启动容器

docker run -d --restart=always --name zyysys -v /home/workspace/zyysys:/home/workspace/zyysys -p 7999:7999 zyysys:v1

3.查看运行中容器

chao@localhost:/home/workspace/zyysys$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS              PORTS                    NAMES
39a92383ec7d        zyysys:v1           "nohup java -jar /ho…"   About a minute ago   Up About a minute   0.0.0.0:7999->7999/tcp   zyysys

4.测试jar包是否能正常提供服务

  • 查看log,在zyysys目录下已经自动生成一个log目录,此为项目中配置的log目录
chao@localhost:/home/workspace/zyysys$ ls
log  zyysys-0.0.1-SNAPSHOT.jar

chao@localhost:/home/workspace/zyysys$ tail log/spring.log
.
.
.
2019-08-20 06:58:04.804  INFO 1 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 7999 (http) with context path '/zyysys'
2019-08-20 06:58:04.842  INFO 1 --- [main] com.yych.zyysys.ZyysysApplication        : Started ZyysysApplication in 27.838 seconds (JVM running for 30.379)

看log日记,如无意外,服务应该是正常运行了

  • 我们来调用下jar包中提供的一个接口,此接口功能为简单的获取并返回服务器ip

END…

以上是关于Docker:部署JAR镜像制作的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot项目打包部署到阿里云服务器通过Maven插件制作Docker镜像部署项目容器配置生产环境

docker镜像jar包放在外面还是里面

云原生DevOps:集成Harbor

docker把web jar包制作成镜像

Docker 镜像的制作上传拉取和 部署

Spring Boot 的项目打包成的 JAR 包,制作成 docker 镜像并运行