经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » Docker » 查看文章
Docker Java程序镜像制作
来源:cnblogs  作者:lw007  时间:2019/8/5 9:42:42  对本文有异议

Docker Java程序镜像制作


制作步骤

  1. # 创建镜像制作目录
  2. mkdir docker
  3. cd docker
  4. # 将oracle的jre包和生成好的程序jar放到目录中
  5. # 为了制造较小体积的镜像,不使用jdk包,也没有必要使用它
  6. cp .../jre-8u221-linux-x64.tar.gz ./
  7. cp .../seckill-1.0-SNAPSHOT.jar ./
  8. # 创建并编辑编辑Dockfile镜像生成文件
  9. vim Dockerfile
  10. # 将下面的内容写入文件中,详细的东西在后面会有说明
  11. FROM docker.io/jeanblanchard/alpine-glibc
  12. ADD jre-8u221-linux-x64.tar.gz /usr/java/jdk
  13. ENV JAVA_HOME /usr/java/jdk/jre1.8.0_221
  14. ENV PATH ${PATH}:${JAVA_HOME}/bin
  15. COPY seckill-1.0-SNAPSHOT.jar /home/seckill-1.0-SNAPSHOT.jar
  16. CMD java -jar /home/seckill-1.0-SNAPSHOT.jar
  17. # 生成名称为seckill,版本为v0的镜像
  18. docker build -t seckill:v0 .
  19. # 运行镜像,我的Java程序是监听在8080端口的,所以将镜像容器的8080端口映射到宿主机的8080,并命名容器的名称为seckill
  20. docker run --name seckill -p 8080:8080 seckill
  21. # 查看当前seckill容器的输出,这里会打印显示Java的控制台输出内容
  22. docker logs seckill

????下面讲解下Dockfile文件的内容:

  • FROM docker.io/jeanblanchard/alpine-glibc:docker的linux镜像有很多,比如Ubuntu、centos之类的,但他们的体积都比较大,单纯一个镜像的都是400M以上的,而其中的alpine镜像只用不到10M,非常的小巧,所以这里就选用它作为基础的构建镜像。但是alpine是基于MUSL libs(mini libc)的,而Java是基于GUN Standard C (glibc)library的,如果不做任何处理的话Java不能在其上运行,而在网上有大佬已经制造安装了glibc的alpine镜像,我们直接使用即可
  • ADD jre-8u221-linux-x64.tar.gz /usr/java/jdk:解压并添加jre压缩包到/usr/java/jdk目录下
  • ENV JAVA_HOME /usr/java/jdk/jre1.8.0_221、ENV PATH ${PATH}:${JAVA_HOME}/bin:这种Java环境变量,这里踩过一个坑,需要注意的是JAVA_HOME的路径设置,如果你的jre包的版本和我不一样话,需要进行修改,我这里解压后是jre1.8.0_221
  • COPY seckill-1.0-SNAPSHOT.jar /home/seckill-1.0-SNAPSHOT.jar:复制添加Java程序到指定目录
  • CMD java -jar /home/seckill-1.0-SNAPSHOT.jar:设置在容器运行后启动Java程序

????如果对docker不是太了解的话,可以查看下面的我制作过程中参考的链接

参考链接

原文链接:http://www.cnblogs.com/freedom-only/p/11294103.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号