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.