Docker Push 命令详解

这个命令是用于将本地构建的 Docker 镜像推送到远程的 Docker 镜像仓库(Registry)。

命令解析

docker push $DOCKER_REGISTRY/oceanx/oceanxecm-server:$CI_COMMIT_TAG

让我们分解这个命令的各个部分:

  1. docker push: Docker 命令,用于将本地镜像推送到远程仓库

  2. $DOCKER_REGISTRY: 环境变量,表示 Docker 仓库的地址(例如:registry.example.comdocker.io

  3. oceanx: 通常是组织或用户名,在 Docker Hub 或私有仓库中标识镜像的所有者

  4. oceanxecm-server: 镜像的名称

  5. $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 镜像。

工作流程示例

  1. 开发者创建一个 Git 标签:
git tag -a v1.2.3 -m "Release version 1.2.3"
git push origin v1.2.3
  1. CI 系统(如 GitLab CI)检测到标签推送,触发构建流程

  2. CI 系统执行 docker builddocker push 命令

  3. 镜像被推送到指定的 Docker 仓库

前提条件

执行这个命令前需要:

  1. 已经构建了对应的 Docker 镜像
  2. 已经登录到目标 Docker 仓库(通过 docker login
  3. 镜像的 tag 必须与 push 的目标地址匹配

其他示例

  1. 推送到 Docker Hub(默认 registry 可省略):
docker push oceanx/oceanxecm-server:latest
  1. 推送到 AWS ECR:
docker push 123456789012.dkr.ecr.us-east-1.amazonaws.com/oceanx/oceanxecm-server:v1.0
  1. 推送到 Google Container Registry:
docker push gcr.io/my-project/oceanxecm-server:stable

这个命令是容器化应用部署流程中的关键步骤,确保构建好的镜像能够被部署环境访问和使用。

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐