Registry 指南
核心 Registry 命令
# 登录 Docker Hub
docker login -u myuser -p mypassword
# 登录私有 Registry
docker login registry.example.com
# 拉取镜像
docker pull nginx:1.25-alpine
# 打标签
docker tag myapp:latest registry.example.com/team/myapp:v1.2.3
docker tag myapp:latest registry.example.com/team/myapp:latest
# 推送镜像
docker push registry.example.com/team/myapp:v1.2.3
# 登出
docker logout registry.example.com
AWS ECR
# 认证到 ECR(Token 有效期 12 小时)
aws ecr get-login-password --region us-east-1 | \
docker login --username AWS --password-stdin \
123456789012.dkr.ecr.us-east-1.amazonaws.com
# 创建仓库
aws ecr create-repository \
--repository-name my-app \
--image-scanning-configuration scanOnPush=true
# 打标签并推送
docker tag my-app:latest 123456789012.dkr.ecr.us-east-1.amazonaws.com/my-app:latest
docker push 123456789012.dkr.ecr.us-east-1.amazonaws.com/my-app:latest
GCP Artifact Registry
# 配置 Docker 使用 gcloud 凭证
gcloud auth configure-docker us-central1-docker.pkg.dev
# 打标签并推送
docker tag my-app:latest us-central1-docker.pkg.dev/my-project/my-repo/my-app:v1.0
docker push us-central1-docker.pkg.dev/my-project/my-repo/my-app:v1.0
Azure Container Registry (ACR)
# 创建 ACR
az acr create --name myregistry --resource-group myRG --sku Basic
# 登录 ACR
az acr login --name myregistry
# 在 ACR 中直接构建(无需本地 Docker)
az acr build \
--registry myregistry \
--image myapp:v1.0 .
# 列出镜像
az acr repository list --name myregistry --output table
镜像标签策略
| 策略 | 示例标签 | 使用场景 |
|---|---|---|
| 语义化版本 | v1.2.3, v1.2, latest | 稳定发布 |
| Git SHA | abc1234, git-abc1234 | 不可变、可追溯 |
| 构建号 | build-1234 | CI 系统 |
| 分支+SHA | main-abc1234 | 预发布测试 |