springboot~maven进行docker打包与推送
maven进行docker打包与推送
- docker.host 表示本地的docker主机,tcp走2375端口
- docker.registry 表示私服地址,本例使用harbor做为私服
<plugin>
<groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>${docker.plugin.version}</version>
<configuration>
<!-- Docker本地主机 -->
<dockerHost>${docker.host}</dockerHost>
<!-- Docker 镜像私服-->
<registry>${docker.registry}</registry>
<!-- 认证信息-->
<authConfig>
<push>
<username>${docker.username}</username>
<password>${docker.password}</password>
</push>
</authConfig>
<images>
<image>
<name>${docker.registry}/${docker.namespace}/${project.name}:${project.version}</name>
<build>
<dockerFile>${project.basedir}/Dockerfile</dockerFile>
</build>
</image>
</images>
</configuration>
</plugin>
- 本地docker主机需要开启2375这个tcp端口
# 打开配置文件
vi /usr/lib/systemd/system/docker.service
# 添加2375端口
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
# 重新加载配置文件并重启服务
systemctl daemon-reload
systemctl restart docker
- 通过plugins的docker插件,进行build和push即可,需要注意本地docker主机与私服之间需要进行daemon.json的配置
{
"registry-mirrors": ["https://ay50ucm9.mirror.aliyuncs.com","http://f2d6cb40.m.daocloud.io"],
"insecure-registries":["http://192.168.xx.xxx:8888"]
}
- maven推送
mvn clean package docker:stop docker:remove docker:build docker:run
# 或者直接打包推送:mvn docker:build docker:push
- 输出
[INFO] --- docker-maven-plugin:0.40.1:push (default-cli) @ lind-fast-demo ---
[INFO] DOCKER> The push refers to repository [192.168.60.137:8888/lind-fast/lind-fast-demo]
edf103f27075: Preparing
9f6bd6be39e5: Preparing
d3f8c53ca74a: Preparing
f9a0984f718a: Preparing
2104e5b926f6: Preparing
50644c29ef5a: Preparing
50644c29ef5a: Waiting
edf103f27075: Pushing [> ] 512B/26.28kB
9f6bd6be39e5: Pushing 2.048kB
edf103f27075: Pushing [==================================================>] 28.67kB
2104e5b926f6: Mounted from moxm/java
d3f8c53ca74a: Mounted from moxm/java
f9a0984f718a: Mounted from moxm/java
edf103f27075: Pushed
9f6bd6be39e5: Pushed
50644c29ef5a: Mounted from moxm/java
[INFO] DOCKER> 1.0.0: digest: sha256:47e560ca99e91aa73770a86991f68167510724d8a1da2820d8d3e24f64c85ddd size: 1575
[INFO] DOCKER> Temporary image tag skipped. Target image '192.168.60.137:8888/lind-fast/lind-fast-demo:1.0.0' already has registry set or no registry is available
[INFO] DOCKER> Pushed 192.168.60.137:8888/lind-fast/lind-fast-demo:1.0.0 in 3 seconds
- 其它问题
如果你的docker:build失败,提示你的基础镜像不存在,我们可以把基础镜像添加到harbor中,模拟成为harbor中的镜像就可以了
合集:
springboot(2)
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
2015-07-28 AngularJS~大话开篇
2014-07-28 面向服务架构~本地轮训服务占用内存过高的问题
2011-07-28 当你使用LINQ做底层时,最好设计一个工厂,不要把LINQ的动作暴露给业务层
2011-07-28 方法的参数与可以统一成这样!
2011-07-28 case...when...end 去统计你写日志的情况
2011-07-28 C#发展历史,你有必要了解一下各个时期C#的特性