码头构图: 没有这样的形象

当我运行 docker-compose up时,我得到这个错误:

root@ubuntu:/home/benson/Docker/HaproxyMy# docker-compose up
Recreating 950ddc308278_950ddc308278_950ddc308278_950ddc308278_950ddc308278_haproxymy_webb_1
Recreating 485800bdf3a1_485800bdf3a1_485800bdf3a1_485800bdf3a1_485800bdf3a1_haproxymy_webc_1
Recreating 2b3338d88716_2b3338d88716_2b3338d88716_2b3338d88716_2b3338d88716_haproxymy_weba_1


ERROR: for webb  No such image: sha256:15853e771e7ca3f5eecee38fcf97efd3ee164c1b66e2ef543d9985a04e78e099


ERROR: for webc  No such image: sha256:15853e771e7ca3f5eecee38fcf97efd3ee164c1b66e2ef543d9985a04e78e099


ERROR: for weba  No such image: sha256:15853e771e7ca3f5eecee38fcf97efd3ee164c1b66e2ef543d9985a04e78e099

返回文章页面

weba:
build: ./web
expose:
- 80


webb:
build: ./web
expose:
- 80


webc:
build: ./web
expose:
- 80




haproxy:


image: haproxy:latest


volumes:


- ./haproxy:/haproxy-override
- ./haproxy/haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg:ro
links:


- weba
- webb
- webc
ports:


- "80:80"
- "70:70"
expose:


- "80"
- "70"
121075 次浏览

使用 weba、 webb 和 webc (如“ 如何使用 Docker Compose 在你的 Raspberry Pi 上运行复杂的多容器应用程序”)的示例假设您正在构建这些图像。

weba:
build: .
expose:
- 80

这意味着你有(在 /home/benson/Docker/HaproxyMy)一个 Dockerfile 就像这个将被解释的构建。建立这些图像。

旧的缓存导致了这个问题,我第一次运行这个命令时失败了,并且 docker-compose 已经创建的图像我无法从 docker images中看到。

需要检查从 docker-compose ps,并删除所有旧的图像与此命令 docker-compose rm,然后再次重建。

在 Windows 上使用 码头机时遇到此错误。

一个容器似乎已经失控; docker-compose rm --all导致整个 shell 冻结,重新启动 Docker Machine 也没有帮助,在执行 docker-compose ps时容器仍然出现。

解决方案是执行 docker-compose down

来解决这个问题

docker-compose -f docker-compose-filename.yml down


docker-compose -f docker-compose-filename.yml up

查看所有图像

docker images -a

我的问题解决了

docker-compose ps

查找有问题的容器名,然后(注意这里运行的是 docker)

docker rm <problematic container name>

在 Ubuntu 18.04.4和 Docker 19.03.6版本上

我试过 Yogesh Yadav 的回答,但是

$docker-compose-f docker-compose-filename. yml up

命令冻结了我的终端运行“当前锁”。

我可以通过列出容器来解决这个问题:

$ docker-compose ps

然后一个一个地移除有问题的容器,运行:

$ docker rm <name_of_the_problematic_container>

我们的问题是 群体工作者的磁盘空间太小。通过在群工作者节点上的 /var/lib/docker上释放一些空间并重新部署来解决。