Docker打包Springboot项目war包镜像并部署

docker事先有centos:7镜像,本地文件需要有一个war包和一个jdk压缩包
docker可以自己添加本地镜像也可以拉取

docker pull centos:7
或
docker load -i centos_xxx.tar.gz
1.创建文件夹/home/app/warimage
2.把war包和jdk压缩包放在warimage下
3.在warimage目录创建Dockerfile文件

Dockerfile文件详情

FROM centos:7
ADD jdk-8u51-linux-x64.tar.gz /opt/
ADD 80.war /usr
RUN mkdir /home/app;mkdir /home/app/log;mv /usr/80.war /home/app/
ENV JAVA_HOME=/opt/jdk1.8.0_51\
        PATH=$PATH:/opt/jdk1.8.0_51/bin
EXPOSE 80
ENTRYPOINT nohup java -jar /home/app/80.war ->/home/app/log/80.log

最后目录文件如下
在这里插入图片描述
仍然在该目录下执行命令
打包生成镜像(最后的 . 别忘了)

docker build -t webapp-80:base .

查看镜像

docker images

运行容器(本机端口8080映射到容器80,目录挂载到/home/app/log)

docker run -dit -p 8080:80 --name webapp-80 -v /home/app:/home/app/log

启动后可在本机/home/app里找到80.log日志文件
访问网页路径

192.168.126.100:8080
### 如何在离线环境中部署Spring Boot应用程序至Docker容器 对于希望在无网络连接环境下完成Spring Boot应用向Docker容器迁移的任务,准备阶段至关重要。首先,在有互联网访问权限的机器上预先下载所需的全部资源文件。 #### 准备工作 收集所有必要的依赖项,括但不限于基础镜像构建工具以及任何第三方库。针对Docker而言,这意味着要获取目标操作系统的基础镜像(如官方提供的`openjdk`或`sdk`)。这一步骤可以通过运行如下命令来实现: ```bash docker pull openjdk:8-jdk-alpine ``` 保存所拉取的基础镜像为tar形式以便后续传输给离线环境中的主机: ```bash docker save -o /path/to/openjdk.tar openjdk:8-jdk-alpine ``` 除了上述操作外,还需考虑`.dockerignore`文件的应用,该配置能有效减少构建上下文体积增强安全性[^1]。 #### 构建与测试 一旦所有必需组件被成功转移至目标服务器,则可继续执行本地构建流程。确保已正确加载之前导出的基础镜像: ```bash docker load --input=/path/to/openjdk.tar ``` 创建一个适合当前项目的`Dockerfile`定义文件,指定先前导入作为FROM指令的一部分。之后按照常规方式打包项目JAR/WAR文件进入同一目录下,最后调用build命令启动整个过程。 考虑到实际场景中可能存在的差异性因素影响,建议先在一个小型实验集群内充分验证方案可行性后再推广实施更大规模部署活动。 为了进一步优化体验,《精通Spring Boot 2.0》一书中提供了更多关于最佳实践指导[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

可——叹——落叶飘零

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值