当前位置: 首页 > article >正文

docker jar镜像打包

本文的目的,实现docker打jar包发布镜像到容器中。给出了Dockerfile的例子和发布的脚本。

目录结构

脚本执行自动打包和发布

run.sh

脚本作用:关闭容器,删除容器,删除原始镜像,打包镜像,发布运行服务

echo 'docker stop store-server  '
docker stop store-server

echo 'docker rm  store-server'
docker rm  store-server


echo 'rmi images ...'
docker rmi  wdfimagetest


echo 'start images ...'
docker build -t wdfimagetest .


echo 'run server :docker run --name store-server  -d -p 80:80  wdfimagetest:latest'
docker run --name store-server  -d -p 8080:80  wdfimagetest:latest

linux系统在增加执行权限 chmod +x run.sh

Dockerfile

# 基础镜像使用java
FROM java:8
# 作者
MAINTAINER WDF <123@qq.com>
# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp
# Copy 是复制文件到容器。注意以根目录为默认层级,注意相对路径
COPY store-server-0.2.jar store-server-0.2.jar

# 将jar包添加到容器中并更名为app.jar
ADD store-server-0.2.jar app.jar
# 运行jar包
RUN bash -c 'touch /app.jar'
EXPOSE 80
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar", "--server.port=80", "> /log/app.log"]

踩坑:

1. Dockerfile 的f是小写,如果大写会出错

2. 设置端口 (-p 7777:8888)    7777是映射到外部的端口,8888是内部的端口,特别容易反了。已经踩过几次坑

详细的命令请参考:Docker学习笔记——小白版_全部 icmp(ipv4) -1 -1-CSDN博客


http://www.kler.cn/a/582403.html

相关文章:

  • std::ranges::views::common, std::ranges::common_view
  • 七大常用智能家居协议对比
  • 双周报Vol.67: 模式匹配支持守卫、LLVM 后端发布、支持 Attribute 语法...多项核心技术更新!
  • Word 小黑第2套
  • 【记录】LaTex|ACM单双栏混合排版出现大量空白的调整方式(例如附带单栏的附录)
  • MySQL Binlog的样式
  • 人工智能驱动数字孪生城市的实践探索
  • 展望 AIGC 前景:通义万相 2.1 与蓝耘智算平台共筑 AI 生产力高地
  • 六、OpenGL中EBO的使用及本质
  • 汽车NVH诊断案例 | 纯电车急加速过大弯底盘异响
  • 17.JavaScript 自动化侦察工具
  • 前馈神经网络 - 参数学习(优化问题)
  • VSTO(C#)Excel开发4:打印设置
  • Mac java全栈开发环境配置
  • MATLAB代码开发实战:从入门到高效应用
  • 基于springboot + vue 的实验室(预约)管理系统
  • 3. 自定义类型****
  • 批量给 Excel 表格添加文字和图片水印
  • Java程序开发之Spring Boot快速入门:5分钟搭建RESTful API
  • 以下是基于文章核心命题打造的15个标题方案,根据传播场景分类推荐