如何将更改推送到Docker Hub?

4

1) 我已经使用 Docker Hub 推送了镜像

docker push ucanmiracle/docker-learn:node-test-image

2) 我的项目文件增加了一些变化。

3) 推送Docker镜像。

docker push ucanmiracle/docker-learn:node-test-image1

但项目更改没有应用。 如何正确地推送更新到Docker Hub?


1
你已经正确地重新创建了图像吗?推送更改的命令是正确的。 - Sriram
我没有重新创建它。怎么做? - Nikolay Podolnyy
1
我想象你是以同样的方式创建它的。 - Sergio Tulentsev
1
在推送到 Docker Hub 之前,您需要构建更新后的项目。使用 docker build 命令构建镜像,然后推送镜像。 - Sunil Valmiki
2个回答

8
您不需要将项目文件推送到注册表,而是需要推送一个镜像,这个镜像需要从项目文件中构建出来。
1:运行命令 docker build -t ucanmiracle/docker-learn:node-test-image1 . ,它会从当前目录下的 Dockerfile 构建出一个镜像,并将其标记为 ucanmiracle/docker-learn:node-test-image1
2:然后运行命令 docker push ucanmiracle/docker-learn:node-test-image1 将镜像推送到 Docker Hub。
更多有关构建 Docker 镜像的信息,请查看此 链接

我已经做了这个,但是在线显示的Dockerfile仍然不是最新的。 - sezanzeb

3

步骤1:

从Dockerfile所在的目录运行以下命令:

docker build -t name_of_ image_with_version local_docker_dir_path

Ex:$ docker build -t base:1.0.0  .

步骤二:

通过运行下面的命令获取 Docker 镜像标签 ID

$ docker images

如果您正在使用docker.io(即dockerhub仓库),则需要在标签中包含docker.io名称。
docker tag ${image_id} docker.io/${login_name}/${image_name}

Ex: docker tag 86xc1fxyzabc9 docker.io/someone/image_name_in_docker_io

然后

docker push docker.io/${login_name}/${image_name}

Ex: docker push docker.io/someone/image_name_in_docker_io

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接