基于操作系统:CentOS 8.4
-
更换为阿里云的镜像加速器。
https://ve6vojmd.mirror.aliyuncs.com
-
修改/etc/docker/daemon.json文件:
vim /etc/docker/daemon.json
以下内容:
{ "log-driver":"json-file", "log-opts": {"max-size":"50m", "max-file":"3"}, "registry-mirrors": ["https://ve6vojmd.mirror.aliyuncs.com"] }
-
Docker开启远程API:
用vim编辑器修改docker.service文件:
vim /usr/lib/systemd/system/docker.service
需要修改的部分:
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
修改后的部分:
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
-
重启docker:
sudo systemctl daemon-reload sudo systemctl restart docker
-
下载registry:2.5镜像
docker pull registry:2.5
-
创建用于持久化保存仓库中的镜像目录及相关配置。
mkdir -p /data/registry mkdir -p /data/registry/auth mkdir -p /data/registry/config
-
生成账号密码:
docker run --entrypoint htpasswd registry:2 -Bbn name password >> /data/registry/auth/htpasswd
-
设置配置文件:
vim /data/registry/config/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
-
启动镜像:
docker run -d -p 5000:5000 --restart=always --name=registry \ -v /data/registry/config/:/etc/docker/registry/ \ -v /data/registry/auth/:/auth/ \ -e "REGISTRY_AUTH=htpasswd" \ -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \ -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \ -v /data/registry/:/var/lib/registry/ \ registry:2.5
-
开启 http 形式访问私有仓库模式:
vim /etc/docker/daemon.json
加入以下内容:127.0.0.1换成你自己的IP。
{"insecure-registries":["127.0.0.1:5000"]}
-
重启docker:
sudo systemctl daemon-reload
sudo systemctl restart docker