搭建简易私有镜像仓库
一般有两种方式
- 使用一个简单的官方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
查看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