用 registry:3 做私有镜像仓库和 Docker Hub 缓存
我之前发版一直是手工: 1 2 3 4 5 本地 build 镜像 docker save 成 tar FTP 上传到服务器 服务器 docker load 重启容器 能用,但每次都很烦。镜像稍微大一点,上传和 load 都慢,也没有一个清楚的版本记录。所以根据以上步骤整理出来的需求如下: CI 能把业务镜像推上去 生产机器能拉下来 最好还能缓存一下 Docker Hub 的基础镜像 这种场景用 registry:3 就够了。 前提 由于 registry:3 限制,一个 registry cache 只能代理一个上游,所以私有镜像仓库和 Docker Hub 缓存分开运行。 比如: 1 2 registry.example.com # 存自己的业务镜像 mirror.example.com # 缓存(加速) Docker Hub 镜像 私有 Registry 先建目录: 1 2 mkdir -p /opt/registry/{data,auth} cd /opt/registry 生成登录账号: 1 2 docker run --rm --entrypoint htpasswd httpd:2 \ -Bbn woodpecker 'your-password' > auth/htpasswd docker-compose.yml: ...