Docker部署jar包
⽅法⼀、直接构建jar包运⾏的镜像
将项⽬打包,上传到服务器的指定⽬录
在该⽬录下创建Dockerfile⽂件
vi Dockerfile
Dockerfile写⼊如下指令
FROM openjdk:11
MAINTAINER bingo
ADD demo.jar demo.jar
EXPOSE 8888
ENTRYPOINT ["java","-jar","demo.jar"]
其中指令的含义:
FROM:基础镜像,FROM openjdk:11 指的是拉取⼀个openjdk:11的镜像
MAINTAINER:作者,MAINTAINER bingo 作者是 bingo
ADD: 将打包的可执⾏jar包复制到镜像中并重命名(⽤ COPY 也可),ADD demo.jar demo.jar将demo.jar 复制到镜像中并重命名为demo.jar
EXPOSE: 声明端⼝
ENTRYPOINT :容器启动之后执⾏的命令,java -jar demo.jar 即启动jar
创建好Dockerfile⽂件之后,执⾏命令构建镜像
docker build -t my-demo .
注意最后的 . 表⽰Dockerfile在当前⽂件⽬录下。my-demo表⽰构建的镜像,构建成功后可以使⽤docker images命令查看镜像。
镜像构建成功之后,就可以运⾏容器
docker run -d --restart=always --name demo -p 8080:8080 my-demo
其中参数的含义:
-d :后台运⾏容器,并返回容器ID
–restart=always :容器在停⽌或服务器开机之后会⾃动重新启动
-p :指定端⼝映射, 和jar包端⼝⼀致
最后的 my-demo指定镜像
启动容器后可以使⽤ docker ps命令查看启动的容器
docker logs --tail 300 -f容器id ,可以查看服务的⽇志。
如果想更新jar包,只需要使⽤docker cp demo-0.0.1-SNAPSHOT.jar 容器ID:/demo.jar,就可以将demo-0.0.1-SNAPSHOT.jar拷贝进容器并重命名,然后 docker restart 容器ID 重启容器。
⽅法⼆、基于jdk镜像运⾏容器
在服务器中拉取openjdk:11的镜像
docker pull openjdk:11
创建⽬录,并将jar包上传到该⽬录
cd /home/xiaobai/workpace/jar
运⾏容器:在运⾏容器的命令⾥指定包的运⾏
docker run -d \
--restart=always \
-v /home/workpace/service/circlefk-service-0.0.1-SNAPSHOT.jar:/jar/circlefk-service-0.0.1-SNAPSHOT.jar \
docker打包镜像-v /home/workpace/service/log/:/home/workpace/service/log/ \
-p 8099:8099 \
--name circlefk-service \
openjdk:11 java -jar \
-Duser.timezone=GMT+08 \
/jar/circlefk-service-0.0.1-SNAPSHOT.jar
上⾯命令的说明:
-Duser.timezone :指定时区
openjdk:11 java -jar :执⾏jar包
/jar/circlefk-service-0.0.1-SNAPSHOT.jar :指定需要执⾏的jar包的位置。以后发布,只需要把宿主机⽬录⾥的jar包替换掉,重启容器。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论