开始
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