docker快速搭建私有镜像仓库(registry)-知行

Windows Windows 2个月前 (08-15) 7次浏览 未收录 0个评论 扫描二维码

1、说明

在 Docker 中,当执行 docker pull xxx时,是从 registry.hub.docker.com 这个地址去查找,这就是Docker公司为我们提供的公共仓库,上面的镜像,大家都可以看到,也可以使用,但是速度较慢。并且要在公司中使用 Docker,我们基本不可能把商业项目上传到公共仓库中,那如果要多个机器共享,怎么办?解决办法就是搭建私有仓库。

2、环境

docker服务器地址:10.*.*.87:

docker私有仓库服务器,运行registry容器;

mkdir –p /data/registry #建立镜像上传目录

3、部署(服务端操作)

(1)下载镜像registry

#docker pull registry

#docker images

REPOSITORY TAG??? ??IMAGE ID?????? CREATED????????? SIZE

Registry? ????latest? ????f32a97de94e1?? 2 months ago??? ??25.8MB

(2)运行registry容器

#docker run -itd -v /data/registry:/var/lib/registry -p 5000:5000 –name registry registry:latest

参数说明:

-itd:在容器中打开一个伪终端进行交互操作,并在后台运行;

-v:把宿主机的/data/registry目录绑定到容器/var/lib/registry目录(这个目录是registry容器中存放镜像文件的目录),实现数据的持久化;

-p:映射端口;访问宿主机的5000端口就访问到registry容器的服务了;

–name registry:创建容器命名为registry,你可以随便命名;

registry:latest:上面pull下来的镜像;

(3) 测试镜像仓库中所有的镜像

#curl https://127.0.0.1:5000/v2/_catalog

{“repositories”:[]}

现在是空的,因为才刚运行,里面没有任何镜像内容。

(4)创建修改/etc/docker/daemon.json文件:

{

? “registry-mirrors”: [ “https://registry.docker-cn.com”%5D,

? “insecure-registries”: [ “10.*.*.87:5000”]

}

重启服务:

#systemctl restart docker

(5)为镜像打标签

docker tag centos:latest 10.*.*.87:5000/centos:v1

格式说明:Usage: docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]

centos:latest 源镜像; 10.*.*.87:5000/centos:v1目标镜像,也是registry私有镜像服务器的IP地址和端口;

(6) 上传到镜像服务器

#docker push 10.*.*.87:5000/centos:v1

(7)检查上传的镜像

# curl https://127.0.0.1:5000/v2/_catalog??

{“repositories”:[“centos”,”test001″,”ubuntu”]}

列出所有镜像

# curl https://10.*.*.87:5000/v2/_catalog

{“repositories”:[“centos”,”test001″,”ubuntu”]}

喜欢 (0)
[]
分享 (0)
关于作者:
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址