Docker Compose: nessuna immagine simile


122

Quando corro docker-compose up, ricevo questo errore:

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"

Risposte:


243

La vecchia cache ha causato questo problema, non sono riuscito a eseguire questo comando la prima volta e docker-compose ha già creato immagini da cui non posso vedere docker images.

È necessario controllare docker-compose pse rimuovere tutte le vecchie immagini con questo comando docker-compose rm, quindi ricostruire di nuovo.


2
Guarda anche la risposta di Shiva. Mi chiedo perché ci sia voluto quasi un anno per migliorare questo? Andiamo, COSÌ!
Adam

2
stackoverflow.com/a/43381147/8283848 questo farà la magia perfettamente (per me)
JPG

Potrebbe essere utile menzionare che docker-compose rm è senza un seguente parametro id dell'immagine, a differenza del caso con docker rmi #id. Altrimenti non potrei rimuovere un nome esistente di un'immagine docker-compose che è stata docker rmi 2d0c8d6058f4_myprojectcom_app_1
chiusa

125

Ho riscontrato questo errore durante l'utilizzo di Docker Machine su Windows.

Un container sembra essere diventato canaglia; docker-compose rm --allha causato il blocco dell'intera shell e il riavvio della Docker Machine non ha aiutato, il contenitore si è comunque presentato durante l'operazione docker-compose ps.

La soluzione era eseguire docker-compose down.


il modo migliore è rimuovere solo le immagini docker-compose rm webb webc weba
difettose

1
@OzzyCzech sono sicuro che è stato utile nella tua situazione. Ma nel mio docker-compose rmsi è congelato il guscio.
Matthias Braun

Non ho avuto problemi di congelamento ma docker-compose rm --allnon stavo rimuovendo tutte le immagini. docker-compose down ha risolto il problema. (Ubuntu 16)
Raheel

Grazie @MatthiasBraun. Ha funzionato per me su Ubuntu 17.10
Raj Kumar N

45

Per risolvere questo problema

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

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

Per vedere tutte le immagini

docker images -a

1
Il problema è con le immagini mancanti e come tali upe downcomandi non funzionano. La risposta corretta è usare docker-compose rmper cancellare le immagini e build-> di upnuovo.
Bhargav Nanekalva

2
Bhargav Signore, devi fare più ricerche prima di votare una risposta, specialmente se non hai abbastanza esperienza con quella tecnologia. Oppure puoi almeno vedere le risposte precedenti (di Matthias Braun) che dicono la stessa cosa che docker-compose risolverà il problema. Ha risolto il problema anche per me insieme ad altre persone (mac - 10.11.5) (docker - 17.03.1-ce).
Yogesh Yadav

Ha menzionato l'uso rme anche in un commento sotto la sua risposta.
Bhargav Nanekalva

1
Sta dicendo rm ha congelato il suo guscio e non risolve il problema per lui.
Yogesh Yadav

1
Funziona meglio di docker-compose rm. Grazie!
varagrawal

19

Il problema è stato risolto per me facendo

docker-compose ps

trovare il nome del contenitore problematico e quindi (nota in esecuzione dockerqui)

docker rm <problematic container name>

2

Su Ubuntu 18.04.4 e Docker versione 19.03.6

Ho provato la risposta di Yogesh Yadav, ma

$ docker-compose -f docker-compose-nomefile.yml up

comando ha congelato il mio terminale durante l'esecuzione di "blocchi correnti".

Sono stato in grado di risolverlo elencando i contenitori:

$ docker-compose ps

E rimuovendo i contenitori problematici uno per uno, eseguendo:

$ docker rm <name_of_the_problematic_container>

0

Esempi di utilizzo di weba, webb e webc come " Come utilizzare Docker Compose per eseguire complesse app multi contenitore sul tuo Raspberry Pi " suppongono che tu stia costruendo quelle immagini.

weba:
  build: .
  expose:
    - 80

Significa che hai (in /home/benson/Docker/HaproxyMy) uno Dockerfile come questo che verrà interpretato dalla build. per costruire quelle immagini.


Grazie, ho trovato il caso di root, La vecchia cache causa questo problema, Thx. Scriverò i passaggi di seguito.
Bensson
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.