搭建docker私有仓库registry

目录

前言:

一、配置好私有仓库的环境

1.1、在dockerhub下载私有仓库registry容器

1.2、查看下载到的registry容器

1.3、建立本地的私有仓库挂载目录,并运行私有仓库的容器,配置好映射的ip端口和挂载的目录、容器名

1.4、查看仓库中的镜像,初始为空

二、配置好私有仓库的配置文件,上传镜像到私有仓库

2.1、修改配置文件,添加私有仓库地址

2.2、将之前建好的镜像打个标签上传到私有仓库

2.3、镜像上传

2.4、在外网主机上访问192.168.0.131映射的公网地址,查看到镜像

2.5、在外网主机列出私有仓库镜像标签

2.6、外网主机修改json文件指向私有仓库的主机

2.7、外网远程下载的内网私有仓库的镜像


前言:

       在生产项目中,有时候公司内部的docker镜像是我们自己通过dockerfile定制的,有时候方便pull到容器的镜像,但是又不想把容器的镜像放在docker hub公有仓库上面,泄漏企业的信息,那么私有仓库是我们最好的选择!

 

一、配置好私有仓库的环境

1.1、在dockerhub下载私有仓库registry容器

[root@docker-test ~]# docker pull registry

1.2、查看下载到的registry容器

[root@docker-test ~]# docker images

1.3、建立本地的私有仓库挂载目录,并运行私有仓库的容器,配置好映射的ip端口和挂载的目录、容器名

[root@docker-test ~]# mkdir -p /data/docker/registry

[root@docker-test ~]# docker run -itd -p 192.168.0.131:5000:5000  -v /data/docker/registry:/var/lib/registry --restart=always --name registry registry:latest

参数说明:

-itd:开启交互模式,分配一个伪终端,以后台方式运行

-p:把容器的5000端口映射到宿主机指定IP的5000端口上

-v:把容器的/var/lib/registry目录映射到宿主机的/data/docker/registry目录,/var/lib/registry是容器中存放镜像文件的目录,来实现数据的持久化

--restart=always:重启策略,容器异常退出会自动重启容器

--name:指定容器的名称为registry

(宿主主机内网ip:192.168.0.131   映射外网ip: 163.177.111.155)

1.4、查看仓库中的镜像,初始为空

[root@docker-test ~]# curl http://192.168.0.131:5000/v2/_catalog

 

二、配置好私有仓库的配置文件,上传镜像到私有仓库

2.1、修改配置文件,添加私有仓库地址

vim /etc/docker/daemon.json

{

  "insecure-registries": ["192.168.0.131:5000"]

}

##注:这里是设置为指定为内网地址

 

2.2、将之前建好的镜像打个标签上传到私有仓库

[root@docker-test ~]# docker tag nginx1.15.7p:latest  192.168.0.131:5000/nginx1.15.7p:v1

[root@docker-test ~]# docker images

(注:可本地或其它主机,可访问到私有仓库主机即可,这里为本地)

 

参数说明:

tag:标记本地镜像,将其归于某一个仓库

nginx1.15.7p:latest是源镜像和标记信息

192.168.0.131:5000/nginx1.15.7p:v1是目标镜像,包含私有仓库的IP和端口

 

2.3、镜像上传

[root@docker-test ~]# docker push  192.168.0.131:5000/nginx1.15.7p:v1

##注:以上是为私有仓库本机操作上传镜像到私有仓库,如果是外网的主机上传到私有仓库,要修改etc/docker/daemon.json里的ip为公网163.177.111.155

 

2.4、在外网主机上访问192.168.0.131映射的公网地址,查看到镜像

[root@sg~]# curl http://163.177.111.155:5000/v2/_catalog

2.5、在外网主机列出私有仓库镜像标签

[root@sg ~]# curl http://163.177.111.155:5000/v2/nginx1.15.7p/tags/list

{"name":"nginx1.15.7p","tags":["v1"]}

2.6、外网主机修改json文件指向私有仓库的主机

[root@sg ~]# vim /etc/docker/daemon.json 
{  "insecure-registries": ["163.177.111.155:5000"]}
 

2.7、外网远程下载的内网私有仓库的镜像

[root@sg ~]# docker pull 163.177.111.155:5000/nginx1.15.7p:v1

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Docker中,可以通过使用Portus来实现docker私有仓库Registry的可视化。Portus是一个带有UI管理功能的仓库管理软件,它可以与Registry一起使用,提供更方便的图形化用户界面来浏览、检索和管理Docker镜像仓库。通过Portus,用户可以通过浏览器来管理项目和命名空间,进行权限管理,进行镜像的复制和同步,以及记录和追踪所有对镜像仓库的操作,用于审计管理。同时,Portus还支持与企业现有的AD/LDAP进行集成,方便进行鉴权认证管理。总之,使用Portus可以使docker私有仓库Registry的管理更加简单和直观。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Docker仓库之企业级可视化私有仓库Harbor(安装、快速、入门)](https://blog.csdn.net/qq_41417660/article/details/106809535)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [docker私有镜像仓库registry及其可视化系统Portus的搭建【转】](https://blog.csdn.net/weixin_33898876/article/details/85966303)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值