背景
通常情况下制作镜像时,都是将jar包直接Add或Copy进入镜像中,这样启动容器后,如需更新jar包,需要重新制作镜像,从新制作容器,对于springboot的发布比较麻烦,那如果在不更新竞相或者容器的前提下就可以更新jar包呢。简单实现方法如下:
1.制作Dcokerfile
FROM java:8
MAINTAINER linchaokun
EXPOSE 8080
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-Dspring.profiles.active=prod","-jar","/data/test.jar"]
/data/test.jar,这里我们指的是容器中/data目录下的test.jar文件。
2.制作docker镜像
docker build -t test .
3.运行容器,并关联路径
docker run --name test -itd -v /usr/local/docker/test:/data -e TZ=Asia/Shanghai --network myNetwork --ip 172.18.0.10 test
这里的network是博主习惯自己定义一个网段,没有可以不加
4.后续更新
每次更新的jar包时,将新jar包放入宿主机的/usr/local/docker/test目录下即可。然后docker stop启动的容器,然后再docker start容器就可以了。就将信的应用进行了发布.