Docker 私仓建设 Registry + Portainer

本文详细介绍了如何在CentOS环境下搭建Docker私有仓库Registry,包括配置与使用流程,以及通过Portainer实现仓库的可视化管理。涵盖服务端与客户端配置、镜像上传下载、垃圾回收及镜像管理等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

docker 私仓建设 Registry + Portainer

环境说明

  • 服务器

    • centos 7.4
    • ip 172.0.0.10
  • 客户端

    • centos 7.4
    • macos
    • windows

1 服务端

1.1 运行 registry 服务

docker run -d -p 5000:5000 --restart always \
  -v /root/docker-registry/data/registry:/var/lib/registry \
  -v /root/docker-registry/config.yml:/etc/docker/registry/config.yml \
  --name my-registry registry:latest
复制代码

2.1 修改配置 config.yml

version: 0.1
log:
  fields:
    service: registry
storage:
  delete:
    enabled: true
  cache:
    blobdescriptor: inmemory
  filesystem:
    rootdirectory: /var/lib/registry
http:
  addr: :5000
  headers:
    X-Content-Type-Options: [nosniff]
health:
  storagedriver:
    enabled: true
    interval: 10s
    threshold: 3
复制代码

2 客户端

2.1 改仓库地址

  • centos
vim  /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd  --insecure-registry 172.0.0.10:5000

systemctl daemon-reload
systemctl restart docker
复制代码
  • macos

2.2 打包上传

docker build -t 172.17.0.10:5000/my-app:1.0.1 .
docker push 172.17.0.10:5000/my-app:1.0.1
复制代码
  • 修改 tag 服务器上保留一个 latest 版本
docker tag 172.17.0.10:5000/my-app:1.0.1 172.17.0.10:5000/my-app:latest
docker push 172.17.0.10:5000/my-app:latest
复制代码
  • 查看

    • 镜像列表 http://172.17.0.10:5000/v2/_catalog
    • 镜像详情 http://172.17.0.10:5000/v2/image_name/tags/list

2.3 下拉镜像

docker pull 172.17.0.10:5000/my-app:1.0.1
复制代码

2.4 删除镜像

  • 镜像位置、sha256
cat /root/docker-registry/data/registry/docker/registry/v2/repositories/my-app/_manifests/tags/1.0.1/current

sha256:0599d30a8dc59cb316f8024db1490fa38aa7f98739d73afb28eb6f1d1655bb46[root@vm03 current]# pwd
复制代码
  • 删除镜像对应的API如下
DELETE /v2/<name>/manifests/<reference>
name:镜像名称
reference: 镜像对应sha256值
复制代码
curl -I -X DELETE http://172.17.0.10:5000/v2/my-app/manifests/sha256:6a67ba482a8dd4f8143ac96b1dcffa5e45af95b8d3e37aeba72401a5afd7ab8e
复制代码
  • 查看数据大小
docker exec -it f70d0c79e6d546d4 sh
~ # du  -chs  /var/lib/registry/
182.4M  /var/lib/registry/
182.4M  total
复制代码
  • 进行容器执行垃圾回收命令
registry garbage-collect /etc/docker/registry/config.yml
复制代码
  • 批量删除镜像
docker rmi -f $(docker images | grep my-app)
复制代码

3 可视化工具 Portainer

3.1 运行服务

docker run -d -p 9100:9000 \
    --restart=always \
    -v /var/run/docker.sock:/var/run/docker.sock \
    --name prtainer-local \
    portainer/portainer
复制代码

3.2 主界面

3.3 容器管理界面

3.4 镜像列表

3.5 网络列表

4 参考


© 会煮咖啡的猫咪

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值