Docker部署jar动态更新、重启

本文详细介绍了如何在Java环境中使用Docker构建SpringBoot应用,包括编写Dockerfile、打包镜像、运行容器以及创建自动重启脚本,以便于后续jar包更新时简化部署流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

步骤1、在jar包路径下新建Dockerfile文件,并编辑内容

FROM openjdk:8-jdk-stretch
RUN mkdir -p /data/logs
RUN rm -rf /etc/localtime && ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
COPY api.jar /data/api.jar
CMD java -jar -Duser.timezone=GMT+08 -Dspring.profiles.active=pro -Dfile.encoding=utf-8 /data/api.jar  >> /data/logs/api-$(date "+%Y%m%d").log

步骤2、打包docker镜像,注意最后有一个 “ . ” !!!看到Successfully镜像就构建成功了

docker build -t your_image_name .

步骤3、查看镜像

docker images

步骤4、启动容器

docker run -d -p 9001:9001 -v /usr/local/data/logs:/data/logs

步骤5、在同级目录下创建重启脚本restart.sh

jar=springboot-2.0.0-SNAPSHOT.jar
dir=/home/ubuntu/data/server
mv $dir/api.jar $dir/history/
mv $dir/$jar api.jar
docker restart coast-server

步骤6、给start.sh添加可执行操作权限

chmod u+x restart.sh

经过此番折腾,后续更新jar包之后,直接运行./restart.sh脚本就可以了

阿里云部署 Docker 容器包括 JAR 文件、Nacos 和 Redis 的步骤通常如下: 1. **准备环境**: - 确保已经在阿里云ECS或其他支持Docker的服务上安装了 Docker CE 或 Docker Desktop。 - 如果需要Nacos和Redis服务,还需要预先下载好它们的镜像。 2. **创建Dockerfile**: - 编写一个Dockerfile,描述如何构建容器,内容可能会包含基础镜像的选择(如`java:latest`用于JAR),以及添加应用JAR文件、配置Nacos和Redis的命令。例如: ```Dockerfile FROM java:8-alpine ADD target/my-app.jar app.jar EXPOSE 8080 VOLUME /tmp COPY nacos.conf /nacos/nacos.conf COPY redis-config.json /redis/config.json RUN mkdir -p /data/nacos && chown -R daemon:daemon /data/nacos RUN mkdir -p /data/redis && chown -R daemon:daemon /data/redis # 启动Nacos和Redis CMD ["sh", "-c", "java -jar app.jar && sh start-nacos.sh && sh start-redis.sh"] ``` 3. **构建镜像**: - 使用`docker build -t my-app .` 命令来构建自定义的镜像,其中`.`表示当前目录。 4. **运行容器**: - 创建一个新的容器实例,可以指定端口映射、环境变量等: ``` docker run -d --name my-app \ -p 8080:8080 \ -v <your_jar_path>:/app.jar \ -v <nacos_data_dir>:/data/nacos \ -v <redis_data_dir>:/data/redis \ my-app ``` 将 `<your_jar_path>` 替换为实际的JAR文件路径,`<nacos_data_dir>` 和 `<redis_data_dir>` 分别是Nacos和Redis数据持久化所需的本地目录。 5. **监控和服务管理**: - 可能还需要设置自动重启策略、日志管理和健康检查,可以使用云平台提供的管理工具(如Kubernetes、YAML配置)或第三方工具(如Docker Compose)来更好地管理容器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值