配置过程
采用最简单的方式。
示例中的 IP和端口为 10.10.1.100:5000,根据自己需要修改。
配置为不安全的 Registry
参考:https://docs.docker.com/registry/insecure/
编辑该 daemon.json
文件,在 Linux 上默认位置为 /etc/docker/daemon.json
,在 Windows Server 上为 C:\ProgramData\docker\config\daemon.json
。
如果该daemon.json
文件不存在,可以直接创建它。假设文件中没有其他设置,则应具有以下内容:
{
"insecure-registries" : ["10.10.1.100:5000"]
}
将不安全注册表的地址替换为示例中的地址。
启用了不安全的 Registry 后,Docker 将执行以下步骤:
- 首先,尝试使用 HTTPS。
- 如果 HTTPS 可用但证书无效,请忽略有关证书的错误。
- 如果 HTTPS 不可用,请回退到 HTTP。
- 重新启动 Docker 以使更改生效。
集群或 K8s 中使用时,所有节点都要进行该操作。
启动本地 Registry
参考:https://docs.docker.com/registry/deploying/
docker run -d \
-p 8443:8443 \
--restart=always \
--name registry \
-e REGISTRY_HTTP_ADDR=0.0.0.0:5000 \
-v /docker/registry:/var/lib/registry \
registry:2
注意本地创建
/docker/registry
目录,然后挂载到容器。
上传和下载
比如有镜像:alpine:3.9
。
先修改标签:
docker tag alpine:3.9 10.10.1.100:5000/alpine:3.9
然后上传:
docker push 10.10.1.100:5000/alpine:3.9
下载:
docker pull 10.10.1.100:5000/alpine:3.9
其他
API 文档:https://github.com/docker/distribution/blob/master/docs/spec/api.md