1. 背景

springboot项目打镜像发布到仓库的大流程有两种:

第一种:本地开发环境 ---> 服务器 ---->  私有镜像仓库

1.1 流程:在本地开发环境打镜像包,并通过docker的2375端口将镜像推到服务器上,最后服务器再推到私有仓库。

1.2 缺点:服务器暴露2375端口是非常危险的,别人甚至可以直接操控你的宿主机,除非你对端口使用ca证书,不过这种方式太过繁琐,参考:https://docs.docker.com/engine/security/protect-access/

1.3 适用场景:如果服务器处于私网,那就是可行的

第二种:本地开发环境 ---> 私有镜像仓库 --->服务器

2.1 在本地开发环境打镜像包直接发布到私有仓库,然后服务器手动拉取

2.2 缺点:需要服务器手动拉取仓库的镜像,但是如果项目是由docker-compose部署的,那么这也不是什么问题,除非你使用的镜像tag是lastest,否则不管怎样,你都需要去修改下docker-compose.yml的镜像版本

2. 使用

第一种. 使用2375端口推镜像

有两种方式,第一种是使用maven插件,第二种是使用idea插件,(maven插件的方式就是在pom文件的plugin里面去配置服务器的信息,idea插件则是通过idea的setting设置去配置)。

但是无论哪种方式,都是需要有docker环境的,要么是本地安装,要么是连接服务器的docker

步骤:

2.1 打开服务器2375端口:

1.1 进入阿里云ecs服务器,进入安全组,添加安全组2375

1.2 打开服务器的防火墙2375端口

1.3 修改docker的配置文件:https://www.cnblogs.com/panchanggui/p/12133928.html

2.2 使用插件进行配置

由于个人不是很喜欢使用2375端口的方式推镜像,所以配置都是一笔带过,有两种,要么maven插件,要么idea插件

2.2.1 使用maven插件进行配置

网上教程很多,大多都是使用com.spotify,可参考:https://blog.csdn.net/xxkalychen/article/details/97174448

2.2.2 使用idea插件进行配置

使用Alibaba Cloud Toolkit插件:参考:

https://help.aliyun.com/document_detail/162966.html

https://blog.csdn.net/u013008898/article/details/113811472

第二种.直接打镜像发布到私有仓库(强烈推荐)

第一种方法是需要本地或服务器拥有docker环境才能使用的,而这种方法不需要有docker服务,可以直接推到私有仓库。

但缺点也是有的:需要暴露阿里云的账号密码,不过可以通过阿里云的RAM子账号解决这个问题:https://help.aliyun.com/document_detail/144229.html

pom文件的配置:

<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin><plugin><groupId>com.google.cloud.tools</groupId><artifactId>jib-maven-plugin</artifactId><version>2.4.0</version><configuration><from><!--表示从docker hub获取java镜像作为基础构建镜像--><image>java</image></from><to><!-- 阿里云前缀/命名空间/仓库名,可直接在阿里云的仓库复制地址 --><image>registry.cn-shenzhen.aliyuncs.com/xxx/xxx</image><auth><!--阿里云上的账号和密码--><username>xxxx</username><password>xxxx</password></auth><tags><tag>${project.version}</tag></tags></to><!--不使用https--><allowInsecureRegistries>false</allowInsecureRegistries></configuration><!--使用maven的生命周期,即在package时会自动进行打镜像--><executions><execution><phase>package</phase><goals><goal>build</goal></goals></execution></executions></plugin></plugins>
</build>

springboot项目打镜像推到私有仓库相关推荐

  1. 配置私有仓库(使用registry镜像搭建一个私有仓库)

    在使用Docker一段时间后,往往会发现手头积累了大量的自定义镜像文件,这些文件通过公有仓库进行管理并不方便:另外有时候只是希望在内部用户之间进行分享,不希望暴露出去.这种情况下,就有必要搭建一个本地 ...

  2. 推送本地镜像到docker私有仓库

    一.安装并启动registry docker pull registry:2 docker run -d -p 5000:5000 -v /root/docker-registry:/var/lib/ ...

  3. linux 从仓库拉取镜像,k8s 从私有仓库拉取镜像

    k8s 从私有仓库摘取镜像报错 with ErrImagePull: "rpc error: code = Unknown desc = Error response from daemon ...

  4. dockerfile拉取私库镜像_从私有仓库拉取镜像

    从私有仓库拉取镜像 浏览 0 扫码 分享 2019-10-27 17:16:54 origin_last_modified:2019-06-06 06:18(#14740) 译文原文 英文原文 版权声 ...

  5. 客快物流大数据项目(十八):Docker私有仓库

    目录 Docker私有仓库 一.registry 的搭建 1.搭建 2.验证

  6. docker 仓库镜像 替换_Docker私有仓库 Registry中的镜像管理

    这里主要介绍Registry v2的版本 查看Registry仓库中现有的镜像: # curl -XGET http://10.0.30.6:5000/v2/_catalog # curl -XGET ...

  7. SpringBoot项目集成UniPush推送服务

    一.DCLOUD开发者平台uni app开通uni push厂商推送配置 DCLOUD开发者平台开发者中心网址:DCLOUD开发者平台开发者中心 1.Uni Push1.0(老版本) (1)Uni P ...

  8. docker配置data-root:设置镜像存储路径 镜像加速地址 私有仓库

    {"registry-mirrors": ["https://registry.docker-cn.com"],"insecure-registry& ...

  9. jenkins+maven+docker java项目编译、打包、构建镜像、上传私有仓库、web容器部署

    本环境非常简单,主要实现如下流程功能 员工通过eclipse提交java代码---gitlab更新代码----jenkins通过maven编译打包----生成war包----制作docker镜像并上传 ...

最新文章

  1. 高逼格的 SQL 写法:行行比较,别问为什么,问就是逼格高。。
  2. 4.1.2(3) 数据交换方式
  3. python PyQt5 adjustSize()(根据内容自适应大小)
  4. 2014-08-26 遇到的小问题
  5. ktor框架用到了netty吗_Ktor-构建异步服务器和客户端的 Kotlin 框架
  6. [复习计划]IMS5024
  7. FontLab v7 7.2.0 字体编辑器
  8. 多卡聚合路由器在视频可视化指挥调度的解决方案
  9. 计算机网络VLAN间路由,交换机必学知识 VLAN间路由理论指导
  10. 测试自动化风险或成功的条款
  11. 机器学习—分类算法的对比实验
  12. 字符自编车牌号c语言,自编车牌号技巧,自编车牌号码大全
  13. 威联通nas怎么更换大硬盘_扩充存储池:威联通NAS添加硬盘的扩容设置教程
  14. java里如何求当前年月日_Java获取当前时间年月日的方法
  15. springboot整合 swagger2
  16. IMDb Large Movie Review-数据集
  17. 设变量n为float类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五人运算的表达式是: A) n=(n*100+0.5)/100.0 B)m=n*100+0.5
  18. w ndows电脑如何烤U盘,老司机教你怎么使用u盘重做系统win7
  19. Happy Birthday! My Motherland!
  20. Boss直聘网爬虫 基于requests 请求的源码

热门文章

  1. word 中的文字有点颜色,感觉像色差一样的处理办法 ,你试试
  2. 虚拟现实整体解决方案
  3. scanf的返回值被忽略
  4. Java中三种方法交换两个变量的值
  5. EEROR:Windows named pipe error: The system cannot find the file specified. (code:2)
  6. Android打开/关闭屏幕和设置系统屏幕亮度方法
  7. C++推箱子游戏(可以撤回)
  8. shm php,php实现共享内存进程通信函数之shm
  9. (一)浅谈微服务概念理解
  10. 查看classpath