实验一:自建Docker注册中心

基于容器安装运行Registry

Docker Registry主要负责镜像仓库的管理

创建并启动一个运行Docker Registry:

docker run -d -p 5000:5000 --restart=always --name myregistry -v /opt/data/registry:/var/lib/registry registry

-v:将主机的本地/opt/data/registry目录绑定到容器/var/lib/registry目录(Docker Registry默认存放镜像文件的位置)中,这样可以实现数据的持久化,将镜像仓库存储到本地文件系统中

-p:设置映射端口,这样访问主机的5000端口就能访问到Registry服务

--restart:设置重启策略,设置为always表示这个容器即使异常退出也会自动重启,保持了Registry服务的持续运行

--name myregistry:将容器命名为myregistry

此时执行docker ps,可以看到registry容器正在运行:

可以执行以下命令获取所有的镜像仓库来测试Docker Registry服务:

curl http://127.0.0.1:5000/v2/_catalog

将镜像上传至自建的docker注册中心 

上传镜像之前需要首先针对自建注册中心设置相应的标签:

[主机 : 端口] / 仓库名称 : [标签]

主机可以是自建注册中心的域名或IP地址,端口就是该中心对外提供注册服务的端口

 完成之后进行测试:

(hello-world是我之前上传的,与此处无关) 也可以直接使用互联网访问自建注册中心

从自建注册中心下载镜像 

这表明下载也没有问题了

配置注册中心地址

默认情况下,注册中心地址使用localhost或127.0.0.1是没有问题的,如果使用主机的域名或IP地址就会报出”http:server gave HTTP response to HTTPS client“这样的错误,这是因为Docker从1.3X之后,访问Docker注册中心默认使用的是HTTPS,但是搭建的私有注册中心默认使用的是HTTP

最简单的解决方案是修改Docker客户端的/etc/docker/daemon.json文件,将要使用的注册中心域名或IP地址添加到insecure-registries列表中,以允许Docker客户端与该列表中的注册中心进行不安全通信

vim /etc/docker/daemon.json

进入文件之后,在花括号里面加上(如果该文件没有花括号,则还要加上花括号):

”insecure-registries“:["主机的IP地址:5000"] 

 然后重启docker服务(若此步重启报错,可以就是上一步配置文件时出错,要返回文件查看)

systemctl restart docker

下面再按照这个IP地址上传或者下载就可以了

同时127.0.0.1也还是可以使用的,其实和配置的主机IP地址是同一个注册中心,可以通过浏览器打开网站验证 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值