docker registry快速搭建

1 篇文章 0 订阅
1 篇文章 0 订阅

1. Registry介绍

官方的Docker hub是一个用于管理公共镜像的好地方,我们可以在上面找到我们想要的镜像,也可以把我们自己的镜像推送上去。但是,Docker hub私有镜像个数限制,同时国内访问速度受限制。

官方在Docker hub上提供了registry的镜像,我们可以直接使用该registry镜像来构建一个容器,搭建我们自己的私有仓库服务。

2. Registry的部署

  1. 编写docker-compse 脚本compose-registry.yml :
registry:
   container_name: registry
   image: registry:latest
   port:
      - 5000:5000
   volumes:
      - /opt/registry:/var/lib/registry
    restart: always
  1. 运行如下命令:
[root@iZm5ee3t4tj14j1vdg6oozZ ~]#  docker-compose -f compose-registry up -d registry
[root@iZm5ee3t4tj14j1vdg6oozZ ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
10cf04d93d95        registry:latest     "/entrypoint.sh /etc…"   6 minutes ago       Up 6 minutes        0.0.0.0:5000->5000/tcp   registry

  1. registry容器启动后,打开浏览器输入http://ip_add:5000/v2/,看到下面情况说明registry运行正常
    访问:
[root@iZm5ee3t4tj14j1vdg6oozZ ~]# curl -XGET http://ip_add:5000
{}[root@iZm5ee3t4tj14j1vdg6oozZ ~]# 
  1. 测试上传镜像到Registry
[root@iZm5ee3t4tj14j1vdg6oozZ ~]# docker tag hello-world:latest ip_add:5000/hello-world:1.0
[root@iZm5ee3t4tj14j1vdg6oozZ ~]# docker images
REPOSITORY                        TAG                 IMAGE ID            CREATED             SIZE
registry                          latest              f32a97de94e1        8 months ago        25.8MB
ip_add:5000/hello-world   1.0                 fce289e99eb9        10 months ago       1.84kB
hello-world                       latest              fce289e99eb9        10 months ago       1.84kB
registry                          2.5.0               c6c14b3960bd        3 years ago         33.3MB
  1. 上传j镜像到Registry私有仓库
    [root@iZm5ee3t4tj14j1vdg6oozZ ~]# docker push 115.28.137.160:5000/hello-world:1.0
    The push refers to repository [ip_add:5000/hello-world]
    af0b15c8625b: Layer already exists
    1.0: digest: sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a size: 524

注意:

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

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

{
“insecure-registries”: [“x.x.x.x:5000”]
}

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

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

[root@iZm5ee3t4tj14j1vdg6oozZ ~]# curl -XGET http://ip_add:5000/v2/_catalog
{"repositories":["hello-world"]}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值