【保姆級】Java程序打包Docker镜像教程

有目标就不怕路远。年轻人.无论你现在身在何方.重要的是你将要向何处去。只有明确的目标才能助你成功。没有目标的航船.任何方向的风对他来说都是逆风。因此,再遥远的旅程,只要有目标.就不怕路远。没有目标,哪来的劲头?一车尔尼雷夫斯基

导读:本篇文章讲解 【保姆級】Java程序打包Docker镜像教程,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

开始

1. 创建Dockfile文件

在我们的项目根目录 创建一个Dockfile文件(右鍵新建选file)
在这里插入图片描述

  • 该文件描述docker引擎应该如何构建我们的镜像

2. 编写Dockfile文件

# 选择一个基础镜像,我们将在该镜像基础上进行调整
FROM java:8
# 将我们项目的jar包添加到容器的根目录
# ADD xxx/xxx.jar(可执行jar包的位置,相对于Dockfile所在目录 或者 提供绝对路径) /app.jar(在容器中的位置和名字,可以自定义,建议使用默认)  
ADD target/dm.jar /app.jar
# 声明挂载目录,
# 声明后我们可以在启动镜像时,通过-v /xxx:/dmhome的方式将该目录挂载到容器所在的宿主机的真实目录
# 此处使用/dmhome,可以根据自己需求进行修改,也可以不用
VOLUME /dmhome
# 声明该镜像在运行时的环境变量(就是操作系统的环境变量) 
# 如果你的应用需要在启动时传递额外配置或某些参数,我们可以使用这种方式传递
ENV URL_ENDPOINT 'http://47.98.160.46:8088'
ENV TP_ENABLE 'false'
ENV DSS_ENDPOINT 'http://agis.xair.cn:8080'
ENV SERVER_UUID ''
ENV PROCESS_UUID 'a6e04878-94e5-4748-ab20-377538ac41a7'
ENV STAGE_UUID '253eb625-9e01-4330-92fd-0cdb83c1dece'
# 启动我们的应用,如果更改了app.jar的名字,则此处也需要修改
CMD java -jar /app.jar

3. 生成镜像

3.1 编译源代码

  • 生成可执行jar(此处请根据自身项目特点进行调整,只要生成的jar是可执行即可)
  • 生成的jar,以及位置:
    在这里插入图片描述
    注意,此处生成的jar的位置是在项目根目录下的target目录,所以在上一个步骤中:
    ADD target/dm.jar /app.jar命令中的可执行jar路径为target/dm.jar,如果不同,请进行相应调整

3.2 镜像构建

(执行命令前请确保当前目录在项目根目录):

docker image build -t vate/xag:dm .

参数说明:

  • vate/xag:dm :用户名/仓库名:标签名
  • .:docker命令执行的上下文路径,.代表当前路径

3.3 流程示例

3.3.1 先登录!!!!!!!!!!

docker login -u aqin1012 -p baihehua1012

3.3.2 查看镜像以及tag名

docker images

3.3.3 改名(一样不用改)

将需要推送的tag需要与推送到的目的仓库名一致(不一致需要改下)

  • 将vate/xag改为aqin1012/xag_datamigration
docker tag vate/xag aqin1012/xag_datamigration

4. 镜像推送到远程仓库

4.1 创建docker-hub帐号,并创建仓库

创建成功如下图:
在这里插入图片描述

4.2 登录

docker login -u 用户名 -p 密码

在这里插入图片描述

4.3 推送镜像到远程仓库

docker push aqin1012/xag_datamigration:datamigration

在这里插入图片描述

  • aqin1012/xag_datamigration:datamigration 需要换成你自己的镜像名称

4.4 成功后查看镜像仓库

注意:关于镜像名称,有一点很重要,在docker-hub中,镜像名称会直接决定该镜像属于哪个用户的哪个仓库
所以标准的docker-hub镜像名称的格式为:用户名/仓库名:标签名
比如在本示例中:

docker image build -t vate/xag:dm . 
vate:帐户名  
xag:仓库名  
dm:标签名,也即我的项目的名称

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/135483.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!