docker registry部署

2 篇文章 0 订阅

什么是registry

就像写的代码需要管理一样,docker hub是docker官方提供的管理镜像的地方。有时公司需要一个内部的独立的平台来管理镜像,
registry就是来做这个事情的。

registry的代码在github上能找到,最早是python写的,后来出了go语言的优化版本(这也说明go是很有前途的一门语言)。

万能的开发者不会傻到每次需要搭建自己的 hub的时候都从下载源码生成镜像开始,所以docker官方提供了registry基础镜像,
下载下来,生成你的容器就好。

如何部署registry

1 获取registry镜像:

$ sudo docker pull registry:2.1.1
2.1.1: Pulling from library/registry
9943fffae777: Pull complete 
fb15e825cb68: Pull complete 
b9583a207297: Pull complete 
a3ed95caeb02: Pull complete 
87fee1c528e9: Pull complete 
829473b2393f: Pull complete 
2c1adb4b358c: Pull complete 
Digest: sha256:4a9bc5424fa7cc4fafd88b5d8dfb102ceb339e8f418fdeca7f094c86db284f1c
Status: Downloaded newer image for registry:2.1.1

查看:

$ sudo docker images
REPOSITORY                                 TAG                            IMAGE ID            CREATED             SIZE
csdn_code/stage                            201612151728_master_f5cb426d   eb05cdd04f3a        17 hours ago        326.9 MB
csdn_code/gobuilder                        latest                         19331a76c5c8        42 hours ago        785.5 MB
192.168.5.179:5000/csdn_code/gobuilder     latest                         19331a76c5c8        42 hours ago        785.5 MB
go/lish_first_image                        latest                         e619de913944        2 days ago          781.4 MB
192.168.5.179:5000/csdn_code/gobuilder     <none>                         3066a2344889        3 weeks ago         781.4 MB
192.168.5.179:5000/csdn_code/debian_base   jessie                         1bede0f75e95        6 weeks ago         313.8 MB
192.168.5.179:5000/golang                  latest                         47734a1408b7        11 weeks ago        672.4 MB
registry                                   2.1.1                          52bb991b482e        13 months ago       220.1 MB

2 启动容器

服务启动后,上传的repository会默认的保存在容器的/var/lib/registry,如果docker registry挂了,并且不可恢复,我们将失去所有镜像,
为了解决这个潜在的风险,我们通常将容器的/var/lib/registry目录挂在到宿主机。

$ sudo mkdir /opt/registry
$ sudo docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --restart=always --name="docker_registry" registry:2.1.1

查看容器启动情况:

gsh@git:~/csdn-docker-event-listener$ sudo docker ps -a
CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS                    PORTS                    NAMES
070ab5fa8fdb        registry:2.1.1        "/bin/registry /etc/d"   53 seconds ago      Up 52 seconds             0.0.0.0:5000->5000/tcp   docker_registry
8692cc70156b        3066a2344889          "/bin/bash"              2 days ago          Exited (0) 2 days ago                              test_image
eb327168f07e        3066a2344889          "bash"                   10 days ago         Exited (0) 10 days ago                             compassionate_albattani
260bd8456c06        3066a2344889          "bash"                   10 days ago         Exited (0) 10 days ago                             admiring_euclid
6562ce8b3f93        3066a2344889          "bash"                   10 days ago         Exited (0) 10 days ago                             distracted_banach
22b3d248b787        3066a2344889          "bash"                   10 days ago         Exited (0) 10 days ago                             stupefied_aryabhata

可以看到,我们的docker_registry已经成功启动。启动容器时,我们使用了5000端口,而且registry支持http请求,
所以在浏览器中输入 localhost:5000/v2,可以看到浏览器的相应。

3 添加认证

服务启动后,需要修改docker配置文件,认证你新增的服务。

$ sudo vim /etc.default/docker

在里面添加:

DOCKER_OPTS="--insecure-registry 192.168.5.179:5000"

然后重启docker:

$ sudo service docker restart

使用

将刚才下载的registry推送到本地registry:

$ sudo docker push registry:2.1.1
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

李少辉-开发者

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

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

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

打赏作者

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

抵扣说明:

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

余额充值