Docker 撰写:没有这样的图片
Docker Compose: No such image
当我 运行 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"
使用 weba、webb 和 webc 的示例,如“How to use Docker Compose to run complex multi container apps on your Raspberry Pi”假设您正在构建这些图像。
weba:
build: .
expose:
- 80
意味着您有(在 /home/benson/Docker/HaproxyMy
中)一个 Dockerfile
like this one 将由构建解释。构建这些图像。
旧缓存导致了这个问题,我第一次运行这个命令失败了,docker-合成了我在docker images
中看不到的已经创建的图像。
需要从 docker-compose ps
开始检查,并使用此命令删除所有旧图像 docker-compose rm
,然后重新构建。
我在 Windows 上使用 Docker Machine 时遇到了这个错误。
一个容器似乎出了问题; docker-compose rm --all
导致整个 shell 冻结并重新启动 Docker 机器也没有帮助,执行 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
命令在 运行 'current locks'.
上冻结了我的终端
我能够通过列出容器来解决它:
$ docker-compose ps
并将有问题的容器一一移除,运行:
$ docker rm <name_of_the_problematic_container>
当我 运行 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"
使用 weba、webb 和 webc 的示例,如“How to use Docker Compose to run complex multi container apps on your Raspberry Pi”假设您正在构建这些图像。
weba:
build: .
expose:
- 80
意味着您有(在 /home/benson/Docker/HaproxyMy
中)一个 Dockerfile
like this one 将由构建解释。构建这些图像。
旧缓存导致了这个问题,我第一次运行这个命令失败了,docker-合成了我在docker images
中看不到的已经创建的图像。
需要从 docker-compose ps
开始检查,并使用此命令删除所有旧图像 docker-compose rm
,然后重新构建。
我在 Windows 上使用 Docker Machine 时遇到了这个错误。
一个容器似乎出了问题; docker-compose rm --all
导致整个 shell 冻结并重新启动 Docker 机器也没有帮助,执行 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
命令在 运行 'current locks'.
上冻结了我的终端我能够通过列出容器来解决它:
$ docker-compose ps
并将有问题的容器一一移除,运行:
$ docker rm <name_of_the_problematic_container>