为什么我无法通过名称运行 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

但为什么我不能像我链接的视频中那样使用该名称?会容易很多

答案1

您需要构建不带标签的图像(:latest将自动分配)

docker build -t one .

或使用您的特定标签运行它

docker run -it --rm one:1

相关内容