Docker
為什麼我無法按名稱執行 docker 映像?
我有一個非常簡單的 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