Docker

為什麼我無法按名稱執行 docker 映像?

  • December 21, 2021

我有一個非常簡單的 docker 文件,我正在執行 docker 20.10.7:

FROM ubuntu:16.04
RUN apt-get update

COPY flag.txt /root/myflag.txt

我建立了形象:

$ sudo docker build -t one:1 .

並尋找圖像:

$ sudo docker images
REPOSITORY   TAG       IMAGE ID       CREATED          SIZE
one          1         4a12e8fa8a37   36 seconds ago   166MB
ubuntu       16.04     b6f507652425   3 months ago     135MB

現在我想執行它。在這樣的影片中,看起來我只能通過名稱來引用圖像,如下所示:

$ sudo docker run -it --rm one
Unable to find image 'one:latest' locally
docker: Error response from daemon: pull access denied for one, repository does not exist or may require 'docker login': denied: requested access to the resource is denied.
See 'docker run --help'. 

但這失敗了,它只是不知道要尋找什麼。我改為使用 id,它有效:

$ sudo docker run -it --rm 4a12e8fa8a37

但是為什麼我不能使用這個名字,就像我連結的影片中所做的那樣?會容易很多

您需要建構沒有標籤的圖像(:latest將自動分配)

docker build -t one .

或使用您的特定標籤執行它

docker run -it --rm one:1

引用自:https://unix.stackexchange.com/questions/683389