可以在不同版本上重用Docker标签吗?

时间:2018-02-20 02:27:28

标签: docker versioning

我构建,标记并将我的Docker镜像发布到Quay:

docker build -t myapp .
docker tag <imageId> quay.io/myorg/myapp:1.0.0-SNAPSHOT
docker login quay.io
docker push quay.io/myorg/myapp:1.0.0-SNAPSHOT

然后我连接到Linux服务器并运行:

sudo docker run -it -p 8080:80 -d --name myapp:1.0.0-SNAPSHOT quay.io/myorg/myapp:1.0.0-SNAPSHOT

一个myapp容器开始运行良好。

我现在想推动一些更改以非本地测试(在同一个Linux服务器上),如果可能的话,我想重新使用相同的标记(1.0.0-SNAPSHOT)。我可以重建,重新标记(使用相同的1.0.0-SNAPSHOT标记)并将myorg/myapp:1.0.0-SNAPSHOT重新发布到Quay然后拉动+运行它并让Docker获取更改吗?或者需要来构建/标记/发布1.0.1-SNAPSHOT(或类似的)新版本?

1 个答案:

答案 0 :(得分:2)

您可以在不同的构建版本上重复使用标记。它与 <div class="form-group"> <label class="col-md-4 control-label" style="font-weight: normal;">Date</label> <div class="col-md-8"> <div class="input-group"> @Html.TextBoxFor(model => model.Date, new { @class = "form-control" }) <span class="input-group-addon"><span class="glyphicon glyphicon-calendar"></span></span> </div> </div> </div> 标记实际上没有任何区别(如果您不提供标记,则最新除了最新之外)。主要问题是确保您提取实际的最新版本。由于各种原因,您的Docker客户端可能无法获取远程已更改的内容,因此如果要重新使用该标记并确保您使用的是特定版本,则可以使用sha256哈希,例如latest

请参阅Docker docs here