为什么在docker中可以缩写容器ID,但不能缩写图像标签,容器名称或图像摘要?

时间:2018-12-07 10:06:11

标签: docker digest abbreviation

鉴于,在存储库中,我遇到这样的情况:

$  docker images
REPOSITORY                    TAG                  IMAGE ID            CREATED             SIZE
myrepo:5000/myimage           latest               1c3c75da38df        3 days ago          546MB
myrepo:5000/myimage           20181130-CET183709   1c3c75da38df        3 days ago          546MB
myrepo:5000/myimage           20181126-CET191306   b143d325cd0e        7 days ago          846MB
myrepo:5000/myimage           20181122-CET190934   ccf40fb5ec0f        11 days ago         746MB

运行一个容器:

$ docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
73d78cb7d34e        myrepo:5000/myimage "uwsgi --plugin http…"   3 minutes ago       Up 3 minutes        0.0.0.0:9090->8443/tcp   heuristic_noyce

我可以做到:

docker exec -ti 73d7 bash --login              # works - shortened container ID

但不是:

docker exec -ti heuristic bash --login         # fails - shortened container name

docker exec -ti heuristic_noyce bash --login   # works - full container name

我不能像这样通过缩短的摘要来提取泊坞窗映像:

docker pull myrepo:5000/myimage@sha256:b143d   # fails - shortened image ID (digest)

通过缩短的标签拉取docker映像也将失败:

docker pull myrepo:5000/myimage:20181126            # fails - shortened tag

docker pull myrepo:5000/myimage:20181126-CET191306  # works - complete tag

为什么不允许所有这些缩写?

有解决方法吗?我的意思是,当有两个或多个以20181126开头的标签时,它会失败,但是在明确的情况下呢?我在哪里可以提出功能请求?

0 个答案:

没有答案