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
    评论
要将Spring Boot应用程序打包成Docker镜像,你可以按照以下步骤进行操作: 1. 创建一个Dockerfile:Dockerfile是一个文本文件,用于定义如何构建Docker镜像。在Dockerfile中,你需要指定基础镜像、复制应用程序文件、设置工作目录和运行应用程序的命令。你可以参考引用中提到的Dockerfile示例。 2. 构建Docker镜像:使用Docker命令来构建镜像。在命令行中,进入到Dockerfile所在的目录,并执行以下命令: ``` docker build -t <image-name> . ``` 其中,`<image-name>`是你要为镜像指定的名称。 3. 运行Docker容器:构建完镜像后,你可以使用以下命令来运行Docker容器: ``` docker run -d -p <host-port>:<container-port> <image-name> ``` 其中,`<host-port>`是你要映射的主机端口,`<container-port>`是容器内部应用程序所监听的端口,`<image-name>`是之前构建的镜像名称。 通过以上步骤,你就可以将Spring Boot应用程序成功打包成Docker镜像,并在Docker容器中运行了。你可以参考引用和中提供的参考链接,了解更多关于将Spring Boot应用程序打包成Docker镜像的详细步骤和配置信息。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Docker打包springboot工程镜像](https://blog.csdn.net/ITwangnengjie/article/details/109750524)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [应用的容器化-docker打包spring boot镜像](https://blog.csdn.net/inthat/article/details/83049309)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值