在 Docker 中,打 Tag(Tagging) 和 Push(Pushing) 是两个关键操作,用于管理镜像的版本并上传到镜像仓库(如 Docker Hub、阿里云 ACR、Harbor 等)。
作用:为 Docker 镜像指定一个版本标签,方便后续识别和管理。
docker tag :
:本地已有的镜像名称或 ID
:新的镜像名称(通常包含仓库地址)
:版本标签(如 latest
、v1.0
等)
# 假设本地有一个镜像 ID 为 abc123,镜像名为 my-flink-app
docker tag my-flink-app myrepo/my-flink-app:v1.0
这样,my-flink-app
就被打上了 myrepo/my-flink-app:v1.0
的标签。
Tag 示例 | 说明 |
---|---|
myrepo/my-flink-app:latest |
默认最新版本 |
myrepo/my-flink-app:v1.0 |
语义化版本 |
myrepo/my-flink-app:20240501 |
日期版本 |
myrepo/my-flink-app:flink1.20 |
依赖版本 |
作用:将本地打好 Tag 的镜像上传到远程 Docker 仓库(如 Docker Hub、私有仓库)。
docker push :
必须包含仓库地址(如 docker.io/username/repo
)。
# 1. 先登录 Docker Hub(或其他仓库)
docker login
# 2. 推送镜像
docker push myrepo/my-flink-app:v1.0
如果 myrepo
是私有仓库(如阿里云 ACR),需要先 docker login
登录。
登录仓库(如果需要):
docker login registry.example.com
打 Tag:
docker tag my-flink-app registry.example.com/myteam/my-flink-app:v1.0
Push 到仓库:
docker push registry.example.com/myteam/my-flink-app:v1.0
假设我们有一个 Flink 应用镜像 paimon-flink
,要推送到 Docker Hub:
# 1. 构建镜像
docker build -t paimon-flink .
# 2. 打 Tag(格式:docker.io/<用户名>/<仓库名>:<标签>)
docker tag paimon-flink docker.io/yourusername/paimon-flink:v1.0
# 3. 登录 Docker Hub
docker login
# 4. 推送镜像
docker push docker.io/yourusername/paimon-flink:v1.0
推送成功后,可以在 Docker Hub(或其他仓库)查看该镜像,并在其他机器上通过 docker pull
拉取:
docker pull docker.io/yourusername/paimon-flink:v1.0
操作 | 命令 | 作用 |
---|---|---|
Tag | docker tag <源镜像> <新镜像>:<标签> |
给镜像打版本标签 |
Push | docker push <镜像>:<标签> |
上传镜像到远程仓库 |
Pull | docker pull <镜像>:<标签> |
从远程仓库拉取镜像 |
这样,你就可以方便地管理和分发 Docker 镜像了!