【问题标题】:Image is successfully built, but not shown in "docker images" results图像已成功构建,但未显示在“docker images”结果中
【发布时间】:2019-09-14 09:40:03
【问题描述】:

我正在尝试构建一个新的 docker 映像。

docker build . -t tg
.....
.....
Removing intermediate container ba85d1deadeb
 ---> 353fcb84af6b
Successfully built 353fcb84af6b
Successfully tagged tg:latest

但由于某种原因,它构建成功后,我既无法运行也无法找到它。

docker images
<none>                               <none>              c18e928477c3        11 days ago         1.01GB
...... a long list of unrelated images that are intermediate steps of the built process .....

docker image lsdocker images -a 也没有帮助。

sudo docker run -i -t 353fcb84af6b
Unable to find image '353fcb84af6b:latest' locally
docker: Error response from daemon: pull access denied for 353fcb84af6b, repository does not exist or may require 'docker login'.
See 'docker run --help'.

运行docker run -i -t tg:latest时结果是一样的。

问题似乎是特定于此特定图像...其他成功构建的图像在运行 docker images 后会显示。

Dockerfile

非常感谢任何指针。

【问题讨论】:

  • 你试过sudo docker run -i -t tg:latest 吗?
  • 相同 -- unable to find image 'tg:latest' locally
  • 能否提供Dockerfile或完整的日志?您是否尝试过在删除所有中间图像后再次构建?
  • @RohitJindal 要点在这里gist.github.com/Victornovikov/489f132278c997c7f3e4b0a79c2d6cbc 最后的构建步骤需要一段时间。我删除了所有缓存文件并等待 docker 文件完成构建。
  • 你试试这个命令docker build -t tg .

标签: docker docker-image


【解决方案1】:

1- 为了运行 docker 命令,请使用 sudo 用户。

WHY -> docker 守护进程绑定到 Unix 套接字而不是 TCP 端口。默认情况下,Unix 套接字由用户 root 拥有,其他用户只能使用 sudo 访问它。

使用 sudo docker build -t tag_name --no-cache 构建您的图像。 要查看图像 - sudo docker images

此外,您不能使用带有图像 ID 的标签 - 无法在本地找到图像 '353fcb84af6b:latest'

为了运行您的图像,您可以使用 JUST 图像 ID 或 image_name:tag。

【讨论】:

  • 1.我完成了设置 docker 的过程,这样我就可以在没有 sudo 的情况下运行它。 askubuntu.com/questions/477551/… 我在这里“以防万一”使用它。此错误似乎不是由缺乏访问权限驱动的... 2. 无论我如何尝试运行图像,它都没有区别。而且它甚至没有出现在我机器上的图像列表中
【解决方案2】:

在 Linux 上 尝试: docker buildx build --progress=plain --load .

【讨论】:

    猜你喜欢
    • 2021-10-14
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-26
    • 2021-04-28
    相关资源
    最近更新 更多