推送Docker镜像至私有仓库
·
Docker Push 命令详解
这个命令是用于将本地构建的 Docker 镜像推送到远程的 Docker 镜像仓库(Registry)。
命令解析
docker push $DOCKER_REGISTRY/oceanx/oceanxecm-server:$CI_COMMIT_TAG
让我们分解这个命令的各个部分:
-
docker push: Docker 命令,用于将本地镜像推送到远程仓库 -
$DOCKER_REGISTRY: 环境变量,表示 Docker 仓库的地址(例如:registry.example.com或docker.io) -
oceanx: 通常是组织或用户名,在 Docker Hub 或私有仓库中标识镜像的所有者 -
oceanxecm-server: 镜像的名称 -
$CI_COMMIT_TAG: 环境变量,表示镜像的标签(tag),通常对应 Git 的标签或版本号
完整镜像地址格式
[registry-domain]/[namespace]/[repository]:[tag]
实际示例
假设:
$DOCKER_REGISTRY=registry.example.com$CI_COMMIT_TAG=v1.2.3
那么命令展开后将是:
docker push registry.example.com/oceanx/oceanxecm-server:v1.2.3
使用场景
这个命令常见于 CI/CD 流水线中,当代码被标记(git tag)后,自动构建并推送 Docker 镜像。
工作流程示例
- 开发者创建一个 Git 标签:
git tag -a v1.2.3 -m "Release version 1.2.3"
git push origin v1.2.3
-
CI 系统(如 GitLab CI)检测到标签推送,触发构建流程
-
CI 系统执行
docker build和docker push命令 -
镜像被推送到指定的 Docker 仓库
前提条件
执行这个命令前需要:
- 已经构建了对应的 Docker 镜像
- 已经登录到目标 Docker 仓库(通过
docker login) - 镜像的 tag 必须与 push 的目标地址匹配
其他示例
- 推送到 Docker Hub(默认 registry 可省略):
docker push oceanx/oceanxecm-server:latest
- 推送到 AWS ECR:
docker push 123456789012.dkr.ecr.us-east-1.amazonaws.com/oceanx/oceanxecm-server:v1.0
- 推送到 Google Container Registry:
docker push gcr.io/my-project/oceanxecm-server:stable
这个命令是容器化应用部署流程中的关键步骤,确保构建好的镜像能够被部署环境访问和使用。
更多推荐


所有评论(0)