Docker私有仓库部署测试

Docker私有仓库部署

目录

Docker私有仓库部署

前言

实验环境

步骤一:拉取镜像 registry

步骤二:修改配置文件 daemon.json

步骤三:启动registry容器

步骤四:测试是否启动容器

步骤五:测试上传到我们自己的私有仓库registry

步骤六:在其他物理机docker主机pull这个镜像


前言

 Docker官方镜像仓库时一个管理公共镜像的地方,用户可以在上面找到自己想要的镜像,也可以把自己的镜像推送上去。但是,有时候服务器无法访问互联网,用户不希望将自己的镜像放到互联网上,就需要用到Docker Registry私有仓库,它用来存储和管理用户自己的镜像。

为什么需要搭建私有仓库?

(1)我们从公共仓库上下载拉取和上传镜像速度受网络影响,有时甚至官网页面都打不开。

(2)从自己搭建的私有仓库里下载和上次镜像,稳点迅速,不受互联网等因素的影响。

实验环境

(1)注册服务器: Linux ,Docker(已安装),提供的镜像 ;

(2)客户端:Linux ,Docker(已安装),从注册服务器上拉取镜像,或将本地镜像推送到注册服务器上。

(3)注册服务器配置如下

主机名被设置为registry-server  ,    IP地址设置为:192.168.182.12  , 与互联网连接正常:

(4)Docker主机配置如下:

   主机名被设置为docker-server,   IP地址被设置为192.168.182.13,  未连接互联网:

vi /etc/resolv.conf              # 修改 resolv.conf ,注释# nameserver 192.168.182.2,断开互联网连接

(5)2台Linux(都安装有docker),一台可以连接互联网,另一台只能访问局域网,两台Linux可以ping通。

步骤一:拉取镜像 registry

docker pull registry                                # 拉取registry镜像(内置了搭建私有仓库运行程序)

步骤二:修改配置文件 daemon.json

(1)配置daemon.json,去掉dockers默认的https的访问

vim /etc/docker/daemon.json        # 里面是一个json对象,添加insecure-registries,修改为主机registry-server的IP

# registry-mirrors 为设置为国内阿里镜像源

Insecure Registries:表示私有仓库地址,本次案例配置的私有仓库地址为 192.168.182.12:5000

(2)修改文件完成后,重新载入配置,重启docker:

systemctl daemon-reload    # 重新载入配置

systemctl restart docker     # 重启docker服务

步骤三:启动registry容器

在注册服务器 registry-server 主机上从公共仓库拉取一个名为registry1的镜像,利用镜像运行容器,且在运行容器时,将宿主机的端口5000映射到容器内开放的端口5000,将宿主机/opt/data/registry 目录。

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

#(1)--restart=always 表示当docker服务启动时候,registry容器会自动运行

#(2)主机:容器  映射,挂载(主机没有会自动创建文件)

步骤四:测试是否启动容器

     如果返回{“repositories”:[]}, 代表启动成功了。

[root@registry-server ~]# curl http://192.168.182.12:5000/v2/_catalog      # 由于仓库内没有任何镜像存储,所以当前仓库内的内容是空的

步骤五:测试上传到我们自己的私有仓库registry

在注册服务器 registry-server主机上,已拉取了若干用于测试结果的镜像,现在将这两个镜像的标签修改如下(注意修改后的镜像名和标签的设置

(1) 将nginx这个镜像重命名tag

[root@registry-server ~]# docker tag nginx:1.16 192.168.97.200:5000/nginx:01

docker images 查看结果:

(2)将测试镜像推送到仓库

这里需要注意的是重命名的tag必须带有建立192.168.182.100:5000/这个前缀,后面的nginx:01是新的镜像口。然后开始进行push到我们建立的私有registry

[root@registry-server ~]# docker push 192.168.182.12:5000/nginx:01

再次运行:如果返回{“repositories”:[]},说明已经push到了自己registry

[root@registry-server ~]# curl http://192.168.182.12:5000/v2/_catalog 

步骤六:在其他物理机docker主机pull这个镜像

(1)修改配置

同样需要在安装docker,然后再/etc/docker/daemon.json这个文件中添加insecure-registries

# IP地址需要更改: 格式:{“insecure-registries”:[“ip地址:端口号”]}

{

    “insecure-registries”:[“192.168.182.12:5000”]

}

(2)然后重启docker,执行

[root@docker-server ~]# systemctl daemon-reload     #  重新载入配置

[root@docker-server ~]# systemctl restart docker     #  重启docker

(3)拉取镜像

[root@docker-server ~]# docker pull 192.168.182.12:5000/nginx:01

结果如下:

至此,一个简单的本地私有仓库即配置完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

寧三一

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值