Docker更新springboot容器镜像

下载安装partainer

拉取镜像

docker pull portainer/portainer-ce

运行容器

docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v /dockerData/portainer:/data --restart=always --name portainer portainer/portainer-ce

创建管理员

打开链接 ip:9000/#!/init/admin,如图,填写账密,创建管理员

查看docker的容器和镜像

点击左上角的home,即可看到服务器docker的相关配置信息

使用pip安装runlike工具

1、安装python3环境,略
2、pip install runlike

springboot项目部署

1、创建目录存放jar包和Dockerfile
mkdir /data/docker-jar

2、准备redis、mysql等镜像,并在单独容易部署,具体步骤略

3、编译jar,并通过filezilla或其他方式上传到/data/docker-jar目录下(注意指定环境)
mvn clean package -Pprod

4、在目录/data/docker-jar下编辑Dockerfile

vim Dockerfile
MAINTAINER "your email"
WORKDIR /opt
ADD main-1.0.jar /opt/main-1.0.jar
EXPOSE 8080 8080
ENTRYPOINT ["nohup","java","-jar","/opt/main-1.0.jar","--spring.profiles.active=prod","&"]

5、在上传路径下,构建镜像

docker build --no-cache  -t your_img:1.0 .

其中 --no-cache 表示不使用缓存

6、通过命令运行springboot容器

docker run --name your_container -p 8080:8080 --network your_network --ip 172.168.0.3 -d yout_img:1.0

更新springboot的jar

1、将新的jar覆盖 /data/docker-jar 目录下的jar

2、停止原容器运行
查看容器运行情况
docker ps -a
停止springboot运行所在的容器
docker stop a0336b93299e

3、获取当前运行情况
runlike a0336b93299e
以下为runlike命令获得的结果

docker run --name=your_container --hostname=c62419fda357 --env=PATH=/usr/local/openjdk-8/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin --env=JAVA_HOME=/usr/local/openjdk-8 --env=LANG=C.UTF-8 --env=JAVA_VERSION=8u342 --network=your_network --workdir=/opt -p 8080:8080 --restart=no --runtime=runc --detach=true yout_img:1.0 --privileged=true

4、使用新容器部署,指定镜像时,会自动更新镜像内容
这里将新容器名改为your_container_new

docker run --name=your_container_new --hostname=c62419fda357 --env=PATH=/usr/local/openjdk-8/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin --env=JAVA_HOME=/usr/local/openjdk-8 --env=LANG=C.UTF-8 --env=JAVA_VERSION=8u342 --network=your_network --workdir=/opt -p 8080:8080 --restart=no --runtime=runc --detach=true yout_img:1.0 --privileged=true

5、删除老镜像
①docker rm xxx
②或使用partainer可视化删除

6、将新容器的命名改为老容器
docker rename your_container_new your_container

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值