96SEO 2026-02-19 21:05 20
用docker-maven-plugin插件推送项目到私服docker1.1.

Boot项目中通过docker-maven-plugin插件把项目推送到私有docker仓库中随后拉取仓库中的项目用docker
用docker-maven-plugin插件推送项目到私服docker
1、要想使用docker-maven-plugin需要在pom.xml中添加该插件
buildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/pluginplugingroupIdio.fabric8/groupIdartifactIddocker-maven-plugin/artifactIdversion0.33.0/versionconfiguration!--
--pushRegistryhttp://localhost:5000/pushRegistryimagesimage!--由于推送到私有镜像仓库镜像名需要添加仓库地址(相当于告诉去哪里拉取镜像)--namelocalhost:5000/fire-tiny/${project.name}:${project.version}/name!--定义镜像构建行为--build!--定义基础镜像--fromjava:8/fromargs!--
--JAR_FILE${project.build.finalName}.jar/JAR_FILE/args!--定义哪些文件拷贝到容器中--assembly!--定义拷贝到容器的目录--targetDir//targetDir!--只拷贝生成的jar包--descriptorRefartifact/descriptorRef/assembly!--定义容器启动命令--entryPoint[java,
-jar,/${project.build.finalName}.jar]/entryPoint!--定义维护者--maintainerfirefish/maintainer!--使用Dockerfile构建时打开--!--dockerFileDir${project.basedir}/dockerFileDir--/build!--定义容器启动行为--run!--设置容器名可采用通配符(一般配置为gav的a)--containerNamePattern${project.artifactId}/containerNamePattern!--设置端口映射--portsport8080:8080/port/ports!--设置容器间连接(即容器需要连接mysql需要外部环境提供mysql连接)--linkslinkmysql:db/link/links/run/image/images/configuration/plugin/plugins
jdbc:mysql://db:3306/fire?useUnicodetruecharacterEncodingutf-8serverTimezoneAsia/Shanghaiusername:
root2、我们构建镜像之前需要先将项目打包然后再构建否则会出错直接使用如下命令即可
docker:build3、打包完成后就可以在我们的本地上看到这个镜像了
localhost:5000/fire-tiny/fire-tiny-fabric
680MB4、当然我们也可以设置使用package命令时直接打包镜像修改pom.xml在plugin节点下添加executions配置即可
是额外添加的不建立这么做在需要的时候在构建docker镜像就好了
plugingroupIdio.fabric8/groupIdartifactIddocker-maven-plugin/artifactIdversion0.33.0/versionexecutions!--如果想在项目打包时构建镜像添加--executionidbuild-image/idphasepackage/phasegoalsgoalbuild/goal/goals/execution/executions
的升级原来的缺点有构建docker镜像的步骤和项目的pom代码耦合严重不利于后期修改且构建过程导致pom文件臃肿肥大。
针对这些缺点
DockerFile方式把docker镜像的构建步骤和Spring
-jar,/fire-tiny-fabric-0.0.1-SNAPSHOT.jar]
dockerFileDir${project.basedir}/dockerFileDir
buildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/pluginplugingroupIdio.fabric8/groupIdartifactIddocker-maven-plugin/artifactIdversion0.33.0/versionconfiguration!--
--pushRegistryhttp://localhost:5000/pushRegistryimagesimage!--由于推送到私有镜像仓库镜像名需要添加仓库地址(这个相当于告诉别人拉取镜像的时候去哪里拉取)--namelocalhost:5000/fire-tiny/${project.name}:${project.version}/name!--定义镜像构建行为--build!--使用Dockerfile构建时打开--dockerFileDir${project.basedir}/dockerFileDir/build/image/images/configuration/plugin/plugins
2、登录私有仓库地址http://localhost:8280/查看到刚推送的镜像
因为我们是本地构建的镜像再推送到私有仓库的需要先把原先构建的镜像删除再去私有仓库拉取镜像
localhost:5000/fire-tiny/fire-tiny-fabric:0.0.1-SNAPSHOT
localhost:5000/fire-tiny/fire-tiny-fabric:0.0.1-SNAPSHOT2、运行容器
localhost:5000/fire-tiny/fire-tiny-fabric:0.0.1-SNAPSHOT3、访问下容器其中的一个接口
http://localhost:8080/brand/list?pageNum1pageSize3但是比较遗憾不出意外查看docker日志会显示数据库相关的报错。
这是因为我们在前面步骤中构建fire-tiny-fabric项目的镜像时指定了是需要依赖mysql数据库的但是我们在docker
如果存在使用docker构建的数据库那通过–link指定mysql数据库
localhost:5000/fire-tiny/fire-tiny-fabric:0.0.1-SNAPSHOT注mysql:db
中的mysql是容器的名称(–name)后面的db是构建fire-tiny-fabric时指定变量。
–link的原理就是在/etc/hosts里面添加了一个alias的名称。
我们在项目中连接数据库用的是db作为域名所以只要给容器添加上一个db指向主机ip地址的域名映射就可以
jdbc:mysql://db:3306/fire?useUnicodetruecharacterEncodingutf-8serverTimezoneAsia/Shanghaiusername:
localhost:5000/fire-tiny/fire-tiny-fabric:0.0.1-SNAPSHOT#
http://localhost:8080/brand/list?pageNum1pageSize33.
我的文章《Docker安装MySQL、Redis、RabbitMQ、Elasticsearch、Nacos等常见服务.md》
我的文章《Docker安装的MySQL如何持久化数据库数据.md》
我的文章《使用docker-maven-plugin插件构建发布推镜像到私有仓库.md》
我的文章《解决Docker安装Elasticsearch后访问9200端口失败.md》
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback