搭建简易私有镜像仓库

一般有两种方式

  • 使用一个简单的官方docker registry镜像
  • 使用harbor
    Harbor是由VMware公司开源的企业级的Docker Registry管理项目,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制和中文支持等功能

准备

安装docker-compose

sudo curl -L https://github.com/docker/compose/releases/download/1.26.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

拉取registry镜像

docker pull registry

运行

docker run  -d --name registry \
 -v /home/txl/registry/config.yml:/etc/docker/registry/config.yml \
 -v /home/txl/registry/data:/var/lib/registry \
-p 5000:5000   registry

配置文件(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

设置安全

不出意外会报错http: server gave HTTP response to HTTPS client,因为docker为了安全,需要https
修改/etc/docker/daemon.json文件内容让其不需要。写入服务器的内网ip地址

"insecure-registries":["172.23.73.187:5000"]

测试

使用已有的镜像打包一个tag

docker tag redis:5-alpine 172.23.73.187:5000/redis:v1

传到我们的私有镜像里

docker push 172.23.73.187:5000/redis:v1

image

查看API

文档
查看列表

curl http://172.23.73.187:5000/v2/_catalog

查看redis镜像详情

curl http://172.23.73.187:5000/v2/redis/manifests/v1

查看tag列表

curl http://172.23.73.187:5000/v2/redis/tags/list

删除镜像

curl -X DELETE http://172.23.73.187:5000/v2/redis/manifests/xxx

垃圾回收

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

下载镜像

docker pull 172.23.73.187:5000/redis:v1
原文地址:https://www.cnblogs.com/tangxuliang/p/15633489.html