Docker撰写:没有这样的图像

时间:2016-05-26 07:42:41

标签: docker docker-compose

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

6 个答案:

答案 0 :(得分:201)

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

需要从docker-compose ps进行检查,并使用此命令docker-compose rm删除所有旧图像,然后重新进行重建。

答案 1 :(得分:109)

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

容器似乎已经流氓; docker-compose rm --all导致整个shell冻结并重新启动Docker Machine也没有帮助,容器在执行docker-compose ps时仍然显示。

解决方案是执行docker-compose down

答案 2 :(得分:38)

解决此问题

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

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

查看所有图片

docker images -a

答案 3 :(得分:16)

通过

解决了问题
docker-compose ps

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

docker rm <problematic container name>

答案 4 :(得分:2)

在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>

答案 5 :(得分:0)

使用weba,webb和网络摄像头的示例,例如&#34; How to use Docker Compose to run complex multi container apps on your Raspberry Pi&#34;假设您正在构建这些图像。

weba:
  build: .
  expose:
    - 80

意味着您(在/home/benson/Docker/HaproxyMy中)Dockerfile like this one将由构建解释。建立这些图像。