Docker Compose: Tidak ada gambar seperti itu

122

Ketika saya berlari docker-compose up, saya mendapatkan kesalahan ini:

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"
Bensson
sumber

Jawaban:

243

Cache lama menyebabkan masalah ini, saya gagal menjalankan perintah ini untuk pertama kalinya dan gambar docker-compose sudah membuat yang tidak dapat saya lihat docker images.

Perlu memeriksa dari docker-compose ps, dan menghapus semua gambar lama dengan perintah ini docker-compose rm, lalu membangun kembali.

Bensson
sumber
2
Lihatlah jawaban Shiva juga. Bertanya-tanya mengapa butuh waktu hampir setahun untuk memperbaiki yang satu ini? Ayo, JADI!
Adam
2
stackoverflow.com/a/43381147/8283848 ini akan melakukan keajaiban dengan sempurna (bagi saya)
JPG
mungkin bagus untuk menyebutkan bahwa docker-compose rm tanpa id parameter gambar berikut, tidak seperti kasus dengan docker rmi #id. Jika tidak, saya tidak dapat menghapus nama yang ada dari gambar docker rmi 2d0c8d6058f4_myprojectcom_app_1
pembuatan
125

Saya mengalami kesalahan ini saat menggunakan Mesin Docker di Windows.

Sebuah wadah sepertinya rusak; docker-compose rm --allmenyebabkan seluruh cangkang membeku dan memulai ulang Mesin Docker juga tidak membantu, kontainer masih muncul saat melakukannya docker-compose ps.

Solusinya adalah mengeksekusi docker-compose down.

Matthias Braun
sumber
cara yang lebih baik adalah menghapus hanya gambar yang gagal dengan docker-compose rm webb webc webadan kemudian menarik atau membuat yang baru
OzzyCzech
1
@OzzyCzech Saya yakin itu berguna dalam situasi Anda. Tapi di dalam tubuh saya docker-compose rmmembekukan cangkang saya.
Matthias Braun
Saya tidak mengalami masalah pembekuan tetapi docker-compose rm --alltidak menghapus semua gambar. buruh pelabuhan-menulis memperbaiki masalah. (Ubuntu 16)
Raheel
Terima kasih @MatthiasBraun. Ini bekerja untuk saya di ubuntu 17.10
Raj Kumar N
45

Untuk mengatasi masalah ini

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

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

Untuk melihat semua gambar

docker images -a
Yogesh Yadav
sumber
1
Masalahnya adalah dengan gambar yang hilang dan dengan demikian updan downperintah tidak berfungsi. Jawaban yang benar adalah menggunakan docker-compose rmuntuk menghapus gambar dan build-> uplagi.
Bhargav Nanekalva
2
Bhargav Pak, Anda perlu melakukan lebih banyak penelitian sebelum downvoting jawaban khususnya jika Anda tidak memiliki cukup pengalaman dengan teknologi itu. Atau Anda setidaknya dapat melihat jawaban sebelumnya (oleh Matthias Braun) yang mengatakan hal yang sama bahwa buruh pelabuhan akan menyelesaikan masalah. Ini telah memecahkan masalah untuk saya juga bersama dengan orang lain (mac - 10.11.5) (buruh pelabuhan - 17.03.1-ce).
Yogesh Yadav
Dia menyebutkan menggunakan rmdan juga dalam komentar di bawah jawabannya.
Bhargav Nanekalva
1
Dia mengatakan rm membekukan cangkangnya dan tidak menyelesaikan masalah untuknya.
Yogesh Yadav
1
Ini bekerja lebih baik dari docker-compose rm. Terima kasih!
varagrawal
19

Masalah diselesaikan untuk saya dengan melakukan

docker-compose ps

menemukan nama wadah yang bermasalah dan kemudian (catatan berjalan di dockersini)

docker rm <problematic container name>
srt32
sumber
2

Di Ubuntu 18.04.4 dan Docker versi 19.03.6

Saya mencoba jawaban Yogesh Yadav, tapi

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

perintah membekukan terminal saya saat menjalankan 'kunci saat ini'.

Saya bisa menyelesaikannya dengan membuat daftar wadah:

$ docker-compose ps

Dan menghapus container yang bermasalah satu per satu, menjalankan:

$ docker rm <name_of_the_problematic_container>
Nisal Gunawardana
sumber
0

Contoh menggunakan weba, webb, dan webc seperti " Cara menggunakan Docker Compose untuk menjalankan aplikasi multi-container yang kompleks di Raspberry Pi Anda " misalkan Anda sedang membangun gambar-gambar itu.

weba:
  build: .
  expose:
    - 80

Artinya Anda memiliki (dalam /home/benson/Docker/HaproxyMy) yang Dockerfile seperti ini yang akan ditafsirkan oleh build. untuk membuat gambar-gambar itu.

VonC
sumber
Terima kasih, saya menemukan kasus root, Cache lama menyebabkan masalah ini, Terima kasih. Saya akan menulis langkah-langkah di bawah ini.
Bensson