我们已推出Google Container Registry,建议使用它替代google/docker-registry。Google Container Registry是运行在Google Cloud Storage上的私有Docker registry,使用与google/docker-registry相同的身份验证、存储和计费方式,无需自行运行registry。可从Google Compute Engine、Managed VMs、Google Container Engine、非Google云提供商或本地机器轻松访问其中的镜像。
该镜像为带有Google Cloud Storage (GCS)驱动的Docker Registry,用于将Docker镜像存储到Google Cloud Storage存储桶中。通过配置环境变量和凭证,可实现Docker镜像的推送和拉取操作。
适用于需要将Docker镜像存储在Google Cloud Storage中的场景,尤其适合已使用Google Cloud Platform的用户。注意:2015年2月后官方推荐使用Google Container Registry,本镜像为较旧解决方案。
已安装Docker,且可访问https://index.docker.io/u/google/docker-registry%E9%95%9C%E5%83%8F%E3%80%82
需通过环境变量指定用于存储镜像的GCS存储桶:
bashdocker run -d -e GCS_BUCKET=your-bucket -p 5000:5000 google/docker-registry
可选设置STORAGE_PATH环境变量指定存储桶内的路径(需以斜杠开头,不以斜杠结尾):
bashdocker run -d -e GCS_BUCKET=your-bucket -e STORAGE_PATH=/containers -p 5000:5000 google/docker-registry
有三种方式配置访问GCS的凭证:
1. 使用环境变量中的OAuth刷新令牌
通过gcloud获取刷新令牌,然后通过环境变量传入:
bash# 获取刷新令牌 gcloud auth print-refresh-token # 创建环境变量文件 registry-params.env cat registry-params.env GCP_OAUTH2_REFRESH_TOKEN=your-refresh-token GCS_BUCKET=your-bucket # 运行容器 docker run -d --env-file=registry-params.env -p 5000:5000 google/docker-registry
2. 使用google/cloud-sdk容器的配置卷
通过google/cloud-sdk容器生成凭证并共享卷:
bash# 创建gcloud配置容器并登录 docker run -ti --name gcloud-config google/cloud-sdk gcloud auth login # 根据提示在浏览器中完成登录并输入验证码 # 设置项目 docker run -ti --volumes-from gcloud-config google/cloud-sdk gcloud config set project <project> # 使用配置卷运行registry docker run -d -e GCS_BUCKET=your-bucket -p 5000:5000 --volumes-from gcloud-config google/docker-registry
3. 在Google Compute Engine上使用服务账户
在GCE实例上配置具有storage-rw作用域的服务账户:
bash# 创建GCE实例 gcutil addinstance --zone=us-central1-a --machine_type=f1-micro \ --image=projects/google-containers/global/images/container-vm-v20140522 \ --service_account_scopes=storage-rw \ my-docker-vm # 登录实例并运行registry gcutil ssh my-docker-vm sudo docker run -d -e GCS_BUCKET=your-bucket -p 5000:5000 google/docker-registry
配置完成后,可通过以下命令推送镜像:
bash# 标记镜像 docker tag myawesomeimage localhost:5000/myawesomeimage # 推送镜像 docker push localhost:5000/myawesomeimage

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务