Docker Compose : 해당 이미지 없음


122

실행 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"

답변:


243

이전 캐시로 인해이 문제가 발생했으며 처음 으로이 명령을 실행하지 못했고에서 볼 수없는 이미 생성 된 이미지를 docker-compose했습니다 docker images.

에서 확인 docker-compose ps하고이 명령으로 모든 이전 이미지를 제거한 docker-compose rm다음 다시 빌드해야합니다.


2
Shiva의 대답도보세요. 이 문제를 개선하는 데 왜 거의 1 년이 걸 렸는지 궁금하십니까? 어서!
아담

2
stackoverflow.com/a/43381147/8283848 이것은 마법을 완벽하게 수행 할 것입니다 (저를 위해)
JPG

docker-compose rm은 docker rmi #id의 경우와 달리 이미지의 다음 매개 변수 ID가 없다는 것을 언급하는 것이 좋습니다. 그렇지 않으면 종료되고 지워진 docker-compose 이미지의 기존 이름을 제거 할 수 없습니다docker rmi 2d0c8d6058f4_myprojectcom_app_1
FantomX1

125

Windows에서 Docker Machine 을 사용할 때이 오류가 발생했습니다 .

컨테이너가 불량 인 것 같습니다. docker-compose rm --all전체 셸이 멈추고 Docker Machine을 다시 시작해도 도움이되지 않았으며 컨테이너는 docker-compose ps.

해결책은 docker-compose down.


더 좋은 방법은 만 실패 이미지를 제거입니다 docker-compose rm webb webc weba후 당기거나 새로 구축
OzzyCzech

1
@OzzyCzech 나는 그것이 당신의 상황에서 유용했다고 확신합니다. 그러나 docker-compose rm내 껍질을 얼렸다.
Matthias Braun

정지 문제는 없었지만 docker-compose rm --all모든 이미지를 제거하지는 않았습니다. docker-compose down이 문제를 해결했습니다. (Ubuntu 16)
Raheel

@MatthiasBraun 감사합니다. 그것은 우분투 17.10에서 나를 위해 일했습니다
Raj Kumar N

45

이 문제를 해결하려면

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

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

모든 이미지를 보려면

docker images -a

1
문제는 누락 된 이미지와 관련 up하여 down명령이 작동하지 않습니다. 정답은 docker-compose rm이미지를 지우는 데 사용 하고 다시 build->하는 up것입니다.
Bhargav Nanekalva

2
Bhargav Sir, 해당 기술에 대한 충분한 경험이없는 경우 특별히 답변을 거부하기 전에 더 많은 조사를해야합니다. 또는 docker-compose down이 문제를 해결할 것이라고 말하는 이전 답변 (Matthias Braun)을 볼 수 있습니다. 그것은 다른 사람들 (mac-10.11.5) (docker-17.03.1-ce)과 함께 나에게도 문제를 해결했습니다.
Yogesh Yadav

그는 rm그의 답변 아래에 사용 및 또한 언급 했습니다.
Bhargav Nanekalva

1
그는 rm 자신의 껍질을 얼리고 문제를 해결하지 못한다고 말합니다.
Yogesh Yadav

1
이것은 docker-compose rm. 감사합니다!
varagrawal

19

나를 위해 문제가 해결되었습니다.

docker-compose ps

문제가있는 컨테이너 이름을 찾은 다음 ( docker여기에서 실행 중 )

docker rm <problematic container name>

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>

0

" Docker Compose를 사용하여 Raspberry Pi에서 복잡한 다중 컨테이너 앱을 실행하는 방법 "과 같이 weba, webb 및 webc 를 사용하는 예에서는 해당 이미지를 빌드한다고 가정합니다.

weba:
  build: .
  expose:
    - 80

당신이 가진 의미 /home/benson/Docker/HaproxyMy 는 빌드에 의해 해석 될 Dockerfile 이와 유사한 ) 있습니다. 이미지를 구축합니다.


감사합니다. 루트 케이스를 찾았습니다. 오래된 캐시로 인해이 문제가 발생했습니다. 아래 단계를 작성하겠습니다.
Bensson
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.