Docker Compose: no existe tal imagen


122

Cuando corro docker-compose up, aparece este error:

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"

Respuestas:


243

El caché antiguo causó este problema, no pude ejecutar este comando la primera vez y docker-compongo imágenes ya creadas que no puedo ver docker images.

Necesita verificar docker-compose psy eliminar todas las imágenes antiguas con este comando docker-compose rm, luego reconstruir nuevamente.


2
Mire también la respuesta de Shiva. Me pregunto por qué tomó casi un año mejorar este. ¡Vamos, ASÍ!
Adam

2
stackoverflow.com/a/43381147/8283848 esto hará la magia perfectamente (para mí)
JPG

Podría ser bueno mencionar que docker-compose rm no tiene el siguiente ID de parámetro de la imagen, a diferencia del caso con docker rmi #id. De lo contrario, no podría eliminar un nombre existente de una imagen de composición acoplable que se salió y se borró a través dedocker rmi 2d0c8d6058f4_myprojectcom_app_1
FantomX1

125

Encontré este error al usar Docker Machine en Windows.

Un contenedor parece haberse vuelto loco; docker-compose rm --allcausó que todo el shell se congelara y reiniciar Docker Machine tampoco ayudó, el contenedor aún aparecía al hacerlo docker-compose ps.

La solución fue ejecutar docker-compose down.


una mejor manera es eliminar solo las imágenes defectuosas docker-compose rm webb webc webay luego extraer o construir una nueva
OzzyCzech

1
@OzzyCzech Estoy seguro de que fue útil en tu situación. Pero en la mía se docker-compose rmcongeló mi caparazón.
Matthias Braun

No tuve problemas de congelación pero docker-compose rm --allno quitaba todas las imágenes. docker-compose down solucionó el problema. (Ubuntu 16)
Raheel

Gracias @MatthiasBraun. Me funcionó en ubuntu 17.10
Raj Kumar N

45

Para solucionar este problema

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

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

Para ver todas las imágenes

docker images -a

1
El problema es que faltan imágenes y, como tal, los comandos upy downno funcionan. La respuesta correcta es usar docker-compose rmpara borrar imágenes y build-> upnuevamente.
Bhargav Nanekalva,

2
Bhargav Señor, debe investigar más antes de rechazar una respuesta, especialmente si no tiene suficiente experiencia con esa tecnología. O al menos puede ver las respuestas anteriores (por Matthias Braun) que dice lo mismo que docker-compose down resolverá el problema. También me ha resuelto el problema junto con otras personas (mac - 10.11.5) (docker - 17.03.1-ce).
Yogesh Yadav

Mencionó el uso rmy también en un comentario debajo de su respuesta.
Bhargav Nanekalva

1
Dice que rm congeló su caparazón y no resuelve el problema por él.
Yogesh Yadav

1
Esto funciona mejor que docker-compose rm. ¡Gracias!
varagrawal

19

El problema se resolvió para mí haciendo

docker-compose ps

encontrar el nombre del contenedor problemático y luego (nota que se ejecuta dockeraquí)

docker rm <problematic container name>

2

En Ubuntu 18.04.4 y Docker versión 19.03.6

Probé la respuesta de Yogesh Yadav, pero

$ docker-compose -f docker-compose-filename.yml arriba

El comando congeló mi terminal al ejecutar 'bloqueos actuales'.

Pude resolverlo enumerando los contenedores:

$ docker-compose ps

Y eliminando los contenedores problemáticos uno por uno, ejecutando:

$ docker rm <name_of_the_problematic_container>

0

Los ejemplos que utilizan weba, webb y webc como " Cómo utilizar Docker Compose para ejecutar aplicaciones complejas de varios contenedores en su Raspberry Pi " suponen que está creando esas imágenes.

weba:
  build: .
  expose:
    - 80

Lo que significa que tiene (en /home/benson/Docker/HaproxyMy) uno Dockerfile como este que será interpretado por la compilación. para construir esas imágenes.


Gracias, encontré el caso raíz, el caché antiguo causa este problema, Thx. Escribiré los pasos a continuación.
Bensson
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.