docker私有仓库创建(2)

1. 查看docker仓库的镜像信息

    前面文章中已经采用命令    

docker run -d -v /root/my_registry:/var/lib/registry -p 5000:5000 --restart always --name registry registry:2

   我们可以通过http://registryIp:5000/v2/_catalog查看仓库中的镜像信息,可以验证docker registry是否部署成功,但是却无法查看每个镜像的版本。

2. 部署docker仓库的WebUI

    目前在网上找到了两个WebUI,一个是docker-registry-frontend,一个是hyper/docker-registry-web。由于前一个只有浏览功能,不具备删除功能,不满足本文需求,所以本文选择的是hyper/docker-registry-web。

当然可以参照作者在docker hub上的说明https://hub.docker.com/r/hyper/docker-registry-web/。

(1)通过docker pull hyper/docker-registry-web下载最新版本镜像

(2)然后通过mkdir /root/docker-web,在该目录下创建文件config.yaml       

registry:
  # Docker registry url
  url: http://registry-srv:5000/v2
  # Docker registry fqdn
  name: localhost:5000
  # To allow image delete, should be false
  readonly: false
  auth:
    # Disable authentication
    enabled: false

  (3)作者建议说registry镜像运行时设置的名称,最好不要registry,所以这边还需要修改容器名称

    docker rename registry registry-srv 

(4)部署docker-registry-web         

docker run -it -p 8080:8080 --name registry-web --link registry-srv -v /root/docker-web/config.yml:/conf/config.yml:ro hyper/docker-registry-web

 部署成功之后,可以通过http://localhost:8080/直接访问WebUI界面

但是发现仍然无法进行删除,经过google发现,原来是我们的registry容器中默认没有开启删除功能

所以这里,先通过docker exec -it registry-srv sh进入容器中,

然后进入:cat /etc/docker/registry/config.yml

这里需要添加delete: enabled: true这个选项,并重启docker restart registry-srv

此时再进入docker-registry-web的WebUI发现,已经可以删除。

但是这里删除的只是Registry中的索引,如果要真正删除文件,还需要进入registry容器中执行命令:

    /bin/registry garbage-collect /etc/docker/registry/config.yml

另外,可以通过du -ach  /var/lig/registry统计仓库大小,对应宿主机的目录/root/my_registry。

  

猜你喜欢

转载自my.oschina.net/u/3433152/blog/1784703
今日推荐