gpt4 book ai didi

docker - 通过示例将容器发布到 docker

转载 作者:行者123 更新时间:2023-12-02 18:53:49 24 4
gpt4 key购买 nike

我试图弄清楚如何将版本化的Docker容器发布到Quay.io,却没有看到如何这样做in their docs。从文档:

# 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-SNAPSHOT1.0-rc2.03.1.6-G.A标记/版本化我的容器怎么办?在哪里指定实际的标签名称/版本?
  • 当我运行docker push命令时,Docker如何知道要发布哪个(标记/版本化)容器?
  • 最佳答案

    首先,值得注意的是,不要将容器推送到注册表。您推送图像。您问题中的docker commit命令基于 Activity 容器创建新图像。

    在为图像分配标签时-使用更常见的[1] docker tag命令,或使用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创建新图像,这使得重现相同的配置变得更加容易(并允许您对图像的配置进行版本控制)。

    关于docker - 通过示例将容器发布到 docker ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48874167/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com