DK
DSTW Docker Proxy 镜像代理服务
多入口代理可用

Docker 镜像代理配置教程

把 Docker Hub 的镜像拉取请求切换到代理入口,适合服务器、开发机、Kubernetes 节点和 CI 构建环境。

4代理入口
6配置场景
300s成功响应缓存

推荐用法

服务器长期使用建议配置 Docker daemon;临时排障或一次性下载可以直接在镜像名前增加当前代理入口。

长期配置 registry-mirrors
临时拉取 docker pull dockerproxy.dtops.co/library/nginx:latest
daemon系统级镜像加速配置
token自动处理 Docker Hub 鉴权
blob代理镜像层跳转下载
daemon

Docker daemon 配置

把代理入口写入 registry-mirrors,适合服务器和开发机长期使用。

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<'EOF' { "registry-mirrors": ["https://dockerproxy.kj99885.com", "https://dockerproxy.kj99886.com", "https://dockerproxy.dtops.co", "https://dockerproxy.onekey.sh"] } EOF sudo systemctl restart docker
pull

直接拉取镜像

不改系统配置时,可以把代理域名放到镜像名前面直接拉取。

docker pull dockerproxy.dtops.co/library/nginx:latest
docker tag dockerproxy.dtops.co/library/nginx:latest library/nginx:latest
containerd

containerd 配置

Kubernetes 节点可在 containerd registry mirror 中加入代理入口。

sudo mkdir -p /etc/containerd/certs.d/docker.io
sudo tee /etc/containerd/certs.d/docker.io/hosts.toml <<'EOF' server = "https://registry-1.docker.io" [host."https://dockerproxy.dtops.co"] capabilities = ["pull", "resolve"] EOF sudo systemctl restart containerd
nerdctl

nerdctl 使用

containerd 环境也可以通过 nerdctl 指定 registry mirror。

nerdctl --namespace k8s.io pull --registry-mirror=https://dockerproxy.dtops.co library/nginx:latest
API

验证 Registry API

检查代理是否能正确访问 Docker Registry v2 API。

curl -I https://dockerproxy.dtops.co/v2/
curl -I https://dockerproxy.dtops.co/v2/library/nginx/manifests/latest
proxy

集中入口管理

页面会显示本次部署范围内的全部自定义入口,便于在不同网络环境中切换。

docker info | grep -A 6 "Registry Mirrors"
docker pull library/nginx:latest