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立这些图像。