Docker仓库---Registry私有仓库

Docker仓库---Registry私有仓库
 
普通仓库
官方的Docker hub是一个用于管理公共镜像的好地方,我们可以在上面找到我们想要的镜像,也可以把我们自己的镜像推送上去。
但是,有时候我们的服务器无法访问互联网,或者你不希望将自己的镜像放到公网当中,那么你就需要Docker Registry,它可以用来存储和管理自己的镜像。
 
安装仓库(Registry)
# docker run -d -p 5000:5000 -v /docker/images/:/var/lib/registry --name registry --restart=always registry
# 默认情况下,会将仓库存放于容器内的/var/lib/registry目录下,如果容器被删除,则存放于容器中的镜像也会丢失
所以我们一般情况下会指定本地一个目录挂载到容器内的/var/lib/registry下
# --restart=always 重启docker后会自动启动容器
 
使用仓库:
1. Registry为了安全性考虑,默认是需要https证书支持(会有下面紫色字体的错误).
我们可以通过一个简单的办法解决:修改docker启动文件:
# vim /usr/lib/systemd/system/docker.service
# systemctl daemon-reload
# systemctl restart docker
 
 
2. 通过 docker tag重命名镜像,使之与registry匹配
# docker tag centos 192.168.10.11:5000/centos7
 
3. 上传到私有仓库
# docker push 192.168.10.11:5000/centos7
--------------------------------------------------------------------------------------------------------------
错误:
# docker push 192.168.10.11:5000/centos7
The push refers to repository [192.16810.11:5000/centos7]
Get https://192.168.10.11:5000/v2/: http: server gave HTTP response to HTTPS client
--------------------------------------------------------------------------------------------------------------
4. 查看私有仓库中的镜像
# curl 192.168.10.11:5000/v2/_catalog #查看所有镜像
{"repositories":["centos7","nginx"]}
 
# curl 192.168.10.11:5000/v2/centos7/tags/list #查看镜像的所有版本
{"name":"centos7","tags":["latest","ipok"]} #删除多余的tag: docker rmi -f 仓库名/镜像名:版本tag
 
5. 从私有仓库中拉取镜像
# docker pull 192.168.10.11:5000/centos7 #仓库/镜像名:版本
 

 
为仓库添加WebUI
私有仓库安装成功后就可以使用 docker 命令行工具对 registry 做各种操作了。
然而不太方便的地方是不能直观的查看 registry 中的资源情况。如果可以使用 UI 工具管理镜像就更好了。
这里介绍一个 Docker Registry WebUI 工具: docker-registry-web
 
 
1. 下载 docker-registry-web 镜像
# docker pull hyper/docker-registry-web
 
2. 启动仓库
# docker run -d -p 5000:5000 -v /docker/images/:/var/lib/registry --name registry --restart=always registry
 
3. 启动 regisger-web
# docker run -d -p 8080:8080 --name registry-web --link registry \ # --link 仓库名称, 连接到哪个仓库
-e REGISTRY_URL=http://192.168.10.11:5000/v2 \ # 仓库 url
-e REGISTRY_NAME=192.168.10.11:5000 hyper/docker-registry-web
 
3. 访问web界面IP:8080
 
posted @ 2020-10-20 19:14  梦里花落知多少sl  阅读(705)  评论(0)    收藏  举报