共计 1870 个字符,预计需要花费 5 分钟才能阅读完成。
1. 简介
内网环境下,很多机器可能都无法联网,如果不进行配置代理,那么这个时候就需要搭建一个私有仓库。
Docker Registry 是一个用于存储和分发 Docker 镜像的开源服务器应用程序,下面讲一下如何搭建。
2. 搭建
使用如下命令搭建一个 Docker Registry:
mkdir -p /home/docker/registry/config && \
touch /home/docker/registry/config/config.yml && \
cat > /home/docker/registry/config/config.yml <<EOF
version: 0.1
log:
level: info
formatter: text
fields:
service: registry
storage:
filesystem:
rootdirectory: /var/lib/registry
delete:
enabled: true
http:
addr: 0.0.0.0:5000
EOF
docker run -d \
--name registry \
-p 5000:5000 \
-v /home/docker/registry/data:/var/lib/registry \
-v /home/docker/registry/config/config.yml:/etc/docker/registry/config.yml \
--restart=always \
registry:2
3. 配置
需要修改 docker 配置文件,告诉 docker 这个地址不需要 https,也就是配置不安全的仓库地址。
查看是否有 /etc/docker/daemon.json
这个文件,如果没有这个文件需要先创建文件,然后添加如下内容:
{
"insecure-registries": ["172.21.9.125:5000"]
}
注意,其中的 ip 修改为自己的地址。
如果已经存在文件,那么只需要在最后一行添加英文逗号后,然后再添加 insecure-registries
这行即可。
重新加载配置文件并重启。
systemctl daemon-reload && systemctl restart docker
4. 镜像上传下载
4.1 上传
给镜像打 tag,这样才能够进行上传,否则需要设置默认地址,阿蛮君没有尝试过,应该是可以的。
docker tag registry 172.21.9.125:5000/registry
然后就可以直接 push。
docker push 172.21.9.125:5000/registry
5. 相关API
5.1 查看API是否可用
curl -I -X GET localhost:5000/v2
返回 200 代表可用。
5.2 查看所有镜像
curl -X GET localhost:5000/v2/_catalog
5.3 查看某个镜像所有tag
curl -X GET localhost:5000/v2/<image_name>/tags/list
# image_name为镜像名,如:
curl -X GET localhost:5000/v2/registry/tags/list
5.4 删除镜像
前提是配置文件需要配置为可删除:
storage:
delete:
enabled: true
需要先获取镜像的唯一标识。
curl -s -I -H "Accept: application/vnd.docker.distribution.manifest.v2+json" \
localhost:5000/v2/<image_name>/manifests/<tag> | \
awk '/Docker-Content-Digest/ { print $2 }' | tr -d '\r'
然后即可删除镜像,digest 即为唯一标识。
curl -X DELETE localhost:5000/v2/<image_name>/manifests/<digest>
示例:
curl -s -I -H "Accept: application/vnd.docker.distribution.manifest.v2+json" \
localhost:5000/v2/registry/manifests/latest | \
awk '/Docker-Content-Digest/ { print $2 }' | tr -d '\r'
curl -X DELETE localhost:5000/v2/registry/manifests/sha256:f4d532d482a050a3bb02886be6d6deda9c22cf8df44b1465f04c8648ee573a70
提醒:本文发布于549天前,文中所关联的信息可能已发生改变,请知悉!
AD:【腾讯云服务器大降价】2核4G 222元/3年 1核2G 38元/年
正文完