我试图弄清楚如何将版本化的Docker容器发布到Quay.io,而不知道如何做到这一点,在他们的医生里。从医生那里:
# Login to Quay.io
docker login quay.io (will now be prompted for username + password)
# Get your <containerID>
docker ps -l
# Tag that container by <containerId>
docker commit <containerId> quay.io/<myUsername>/<myRegistry>
# Now publish it to Quay.io
docker push quay.io/<myUsername>/<myRegistry>然而,这让我非常困惑:
1.0.0-SNAPSHOT、1.0-rc、2.0或3.1.6-G.A标记/版本化的容器怎么办?我应该在哪里指定实际的标签名称/版本?docker push命令时,Docker如何知道要发布哪个(标记/版本)容器?发布于 2018-02-19 21:32:10
首先,值得注意的是,您不将容器推送到注册表。你推图像。问题中的docker commit命令基于活动容器创建新的映像。
当向图像分配标记时--使用更常见的docker tag命令1,或者使用docker commit --标记的格式是[<registry>/]<repository>[:<tag>],其中[...]用于表示选项组件。因此,例如,您可以在Docker Hub上标记一个针对您的帐户的图像,如下所示:
docker tag smeeb/webserver这将被分配给latest标记,因为您没有显式地指定一个。显式分配标记awesome而不是latest
docker tag smeeb/webserver:awesome在为备用注册表标记图像时,将注册表名称作为标记的一部分包括在内,如下所示:
docker tag <imageId> quay.io/smeeb/webserver在这里,quay.io是注册表,smeeb/webserver是存储库,您已经隐式地分配了latest标记。相反,您可以显式地:
docker tag <imageId> quay.io/smeeb/webserver:1.0.0-SNAPSHOT以此类推。在使用docker commit创建图像时,可以使用相同的语法。
1:我看到使用docker tag更普遍的原因是docker commit的使用通常被认为是反模式。使用Dockerfile创建新映像,这样可以更容易地复制相同的配置(并允许您对映像的配置进行版本控制)。
https://stackoverflow.com/questions/48874167
复制相似问题