docker registry 记录

部署

  1. 运行下面命令获取registry镜像

    docker pull registry

    下载到的版本默认为 docker.io/registry latest

  2. 将registry镜像运行并生成一个容器

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

Registry服务默认会将上传的镜像保存在容器的/var/lib/registry,将主机的/opt/registry目录挂载到该目录,即可实现将镜像保存到主机的/opt/registry目录了。

  1. 运行docker ps看一下容器运行情况

4.registry容器启动后,打开浏览器输入http://ip_add:5000/v2/,看到下面情况说明registry运行正常
docker registry 记录

  1. 测试上传镜像到Registry

    通过将镜像push到registry来验证,首先将主机的registry镜像命名为符合仓库要求registry_url:port/ImageName:tag的格式,如图

docker registry 记录

通过docker tag命令来实现命名

docker tag jdk_8u191:20190307 192.168.179.128:5000/jdk_8u191:20190307

通过命令 docker images 查看本地镜像,重新创建了一个镜像

docker registry 记录

上传jdk镜像到Registry仓库: docker push 192.168.179.128:5000/jdk_8u191:20190307

注意:

 可能会出现无法push镜像到私有仓库的问题。提示:

docker registry 记录
这是因为我们启动的registry服务不是安全可信赖的。这时需要修改客户端docker的配置文件/etc/docker/daemon.json,添加下面蓝色的内容(registry服务地址):

{
"registry-mirrors": [ "https://pee6w651.mirror.aliyuncs.com"],"insecure-registries": ["192.168.179.128:5000"]
}

"registry-mirrors": ["https://pee6w651.mirror.aliyuncs.com"] 是阿里云代理的Registry Hub仓库的地址,可以加快国内访问Registry Hub仓库的速度。

修改好之后需要重启Docker服务才能生效,执行命令:systemctl restart docker ,再push即可。

push成功之后,查看本地/opt/registry目录下已经有了刚推送上来的registry镜像,也可以在浏览器中输入http://ip_add:5000/v2/_catalog

docker registry 记录

docker registry 记录

或者使用以下命令查看:

# curl -XGET http://registry:5000/v2/_catalog

# curl -XGET http://registry:5000/v2/image_name/tags/list

至此,我们的Registry私有仓库搭建完成,如果在今后中要使用,可以使用命令:docker pull ip_add:5000/jdk_8u191:20190307 拉取。