Docker撰写:没有这样的形象

当我运行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 

docker-compose.yml

 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" 

旧的caching导致了这个问题,我第一次运行这个命令失败,docker-compose已经创build了我从docker images看不到的docker images 。 需要从docker-compose ps检查,并用这个命令docker-compose rm删除所有的旧映像,然后再重新生成。

在Windows上使用Docker Machine时遇到此错误。

一个容器似乎stream氓了, docker-compose rm --all导致整个shell冻结并重新启动Docker Machine也没有帮助,容器在进行docker-compose ps时仍然出现。

解决scheme是执行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 

find有问题的容器名称,然后(注意在这里运行docker

 docker rm <problematic container name> 

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

 weba: build: . expose: - 80 

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