CentOS 7搭建Docker私有镜像仓库

客官°小女子只卖身不卖艺 2022-05-15 22:41 399阅读 0赞

一、环境
















CentOS 7.5
Linux内核 3.10.0
Docker 18.06.0-ce

二、安装Docker Registry

1、配置Docker启动参数

  1. Docker启动参数中添加如下参数,即开放非安全端口5000192.168.0.99是宿主机IP,重启Docker
  2. **--insecure-registry 192.168.0.99:5000**

2、启动registry容器

  1. 首先下载registry镜像,安装docker时,配置了阿里云镜像加速器,因此从阿里云下载镜像。
  2. **docker pull registry**
  3. 生成配置文件/etc/docker/registry-config.yml,内容如下:
  4. version: 0.1
  5. log:
  6. fields:
  7. service: registry
  8. storage:
  9. delete:
  10. enabled: true
  11. cache:
  12. blobdescriptor: inmemory
  13. filesystem:
  14. rootdirectory: /var/lib/registry
  15. http:
  16. addr: :5000
  17. headers:
  18. X-Content-Type-Options: [nosniff]
  19. health:
  20. storagedriver:
  21. enabled: true
  22. interval: 10s
  23. threshold: 3
  24. storage.delete.enabled=true设置镜像可删除,接下来启动registry容器,执行如下命令:
  25. docker run -d -p 5000:5000 --restart=always --privileged=true -v /etc/docker/registry-config.yml:/etc/docker/registry/config.yml -v /etc/docker/hub:/var/lib/registry --name docker-registry registry
  26. --restart=always设置重启策略,这里设置为退出后自动重启,
  27. --privileged=true开放系统权限,
  28. -v /etc/docker/registry-config.yml:/etc/docker/registry/config.yml挂载配置文件,
  29. -v /etc/docker/hub:/var/lib/registry放系统/etc/docker/hub目录挂载到容器的/var/lib/registry目录,是存储镜像的目录。
  30. --name docker-registry定义容器名称

三、使用私有仓库

  1. 在其他安装了Docker的主机中配置如下启动参数并重启。
  2. **--insecure-registry 192.168.0.99:5000**
  3. busybox镜像为例,说明私有仓库的使用

1、将busybox镜像上传到私有仓库

  1. **docker tag busybox 192.168.0.99:5000/busybox **\#重新将busyboxtag
  2. **docker push 192.168.0.99:5000/busybox ** \#将镜像上传到私有仓库

2、从私有镜像仓库中下载busybox镜像

  1. **docker pull 192.168.0.99:5000/busybox**

3、查询私有仓库中的镜像

  1. **curl http://192.168.0.99:5000/v2/\_catalog**
  2. 返回结果:\{"repositories":\["busybox"\]\}

4、查询busybox镜像版本

  1. **curl http://192.168.0.99:5000/v2/busybox/tags/list**
  2. 返回结果:\{"name":"busybox","tags":\["latest"\]\}

5、删除私仓库中的镜像

curl —header “Accept: application/vnd.docker.distribution.manifest.v2+json” -I -X HEAD http://cloud-i:5000/v2/resource/manifests/1.0 #查询sha256值

  1. **curl -I -X DELETE http://cloud-i:5000/v2/resource/manifests/sha256:<sha256>** \#删除sha256对应的镜像

发表评论

表情:
评论列表 (有 0 条评论,399人围观)

还没有评论,来说两句吧...

相关阅读