docker(五)镜像仓库Registry

一、单机部署Docker Registry

1、pull镜像

~]#  docker pull registry:2.6.2

2、创建/docker/auth/授权使用目录

~]#  mkdir /docker/auth -p

3、创建一个用户并生成一个密码

~]#  docker run --entrypoint htpasswd registry:2.6.2 -Bbn finance 666666 > /docker/auth/htpasswd

4、启动docker registry

~]#  docker run -d -p 5000:5000 --name registry1 -v /docker/auth/:/auth -e "REGISTRY_AUTH=htpasswd" -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd registry

注:
-v   指定宿主机和容器中目录映射关系
-e   传递环境变量参数

5、确认容器启动情况和,端口监听情况

图一

6、登录测试

①测试客户端登录registry

~]#  docker login 49.*****.248:5000

②测试结果:登录失败

图二

③解决上述登录报错

在客户端docker的service文件第14行添加非安全的镜像仓库--insecure-registry 49.*****.248:5000 

~]# vim /lib/systemd/system/docker.service

9 [Service]
10 Type=notify
11 # the default is not to use systemd for cgroups because the delegate issues still
12 # exists and systemd currently does not support the cgroup feature set required
13 # for containers run by docker
14 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --insecure-registry 49.*****.248:5000
15 ExecReload=/bin/kill -s HUP $MAINPID
16 TimeoutSec=0
17 RestartSec=2
18 Restart=always

~]#  systemctl daemon-reload    #重载配置文件

~]#  systemctl restart docker

④添加参数重启后登录测试

图三

7、镜像打tag,并测试上传到registry

~]#   docker tag nginx:1.12  49.*****.248:5000/linux/nginx:1.12-test

~]#  docker push 49.*****.248:5000/linux/nginx:1.12-test

图四

8、测试在另外的客户端下载镜像

注:下载前需要先登录

~]#   docker login 49.*****.248:5000

~]#  docker pull 49.*****.248:5000/linux/nginx:1.12-test

图五

9、使用下载的镜像测试启动一个容器

~]#  docker run -d -p 80:80 --name registry-nginx-test 49.*****.248:5000/linux/nginx:1.12-test

图六

10、测试访问容器

图七




最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容