Moby: Perintah Docker untuk memeriksa apakah image container lokal sudah usang?

Dibuat pada 10 Feb 2017  ·  3Komentar  ·  Sumber: moby/moby

Katakanlah dibandingkan dengan gambar jarak jauh di dockerhub. Saya telah mencari cara kanonik untuk melakukan ini, tetapi yang dapat saya temukan hanyalah skrip bash yang rapuh dan sejenisnya. Tidak ada cara resmi yang direkomendasikan untuk melakukan pemeriksaan semacam itu. Pertanyaan stack overflow juga belum menghasilkan jawaban pasti. Tidak ada pertanyaan serupa ini .

Mampu memverifikasi apakah gambar lokal sudah ketinggalan zaman dibandingkan dengan remote-nya cukup berguna untuk lingkungan pengembangan dan pementasan (docker-cloud bahkan memungkinkan Anda menyiapkan wadah pembaruan otomatis untuk ini). Saya tahu bahwa ada kemungkinan menggunakan webhook untuk memicu penarikan kembali setelah pembuatan gambar yang berhasil, tetapi katakanlah saya ingin dapat memulai pemeriksaan dari server saya, daripada harus membuatnya mendengarkan.

Apakah saya benar dalam mengasumsikan bahwa saat ini tidak ada perintah buruh pelabuhan yang tersedia untuk melakukan pemeriksaan ini, atau apakah saya melewatkan solusi asli buruh pelabuhan yang jelas untuk masalah ini?

aredistribution areimages kinquestion

Komentar yang paling membantu

Ada perbedaan meskipun antara "memperbarui secara membabi buta" dan hanya mendapatkan pemberitahuan bahwa gambar jarak jauh diubah (menggunakan tag yang sama), sehingga Anda dapat memulai proses pembuatan dan QA.

Semua 3 komentar

Tidak, saat ini tidak ada opsi bawaan untuk memeriksa apakah suatu gambar "ketinggalan zaman". Memperbarui kontainer secara otomatis adalah sesuatu yang sangat berbeda untuk tiap kasus penggunaan; Memperbarui gambar secara "membabi buta" ke gambar terbaru bukanlah hal yang sepele. Misalnya some-image:latest dapat menghasilkan _completely_ gambar yang berbeda (misalnya ubuntu:latest mengacu pada rilis "LTS" terbaru, yang pada suatu saat dialihkan dari 14.04 ke 16.04), pada saat yang sama, some-image:1.2.3 "tampak" seperti tag SemVer (ish), tetapi tidak ada jaminan, karena terserah pembuat gambar untuk memutuskan kedua skema "tag", dan artinya (pada dasarnya, tag hanya gratis bentuk "label").

Karena alasan ini, disarankan untuk menggunakan pengenal yang tidak dapat diubah untuk penampung Anda (misalnya ubuntu<strong i="9">@sha256</strong>:aabbbcccddd ); yang memungkinkan Anda untuk _menguji_ versi gambar yang Anda jalankan, dan memiliki jaminan bahwa itu adalah versi _same_ seperti yang telah diuji dalam proses QA Anda.

Karena itu, ada beberapa opsi;

  • saat menggunakan docker compose , Anda dapat docker-compose pull untuk mengambil versi terbaru dari semua gambar yang digunakan dalam tumpukan penulisan Anda
  • ketika _building_ gambar, Anda dapat docker build --pull ..... untuk memaksa menarik gambar yang ditentukan dalam FROM sebelum memulai pembuatan
  • saat menggunakan layanan; docker service update --force --image foo:bar <servicename> menyelesaikan versi terbaru dari gambar foo:bar ditentukan, dan "menyematkan" semua layanan ke versi itu

Saya harap ini menjawab pertanyaan Anda. Harap diingat bahwa pelacak masalah GitHub tidak dimaksudkan sebagai forum dukungan umum, tetapi untuk melaporkan bug dan permintaan fitur. Untuk jenis pertanyaan lainnya, pertimbangkan untuk menggunakan salah satu dari;

Saya akan menutup masalah ini karena ini bukan bug, tapi silakan lanjutkan percakapan 👍

Ada perbedaan meskipun antara "memperbarui secara membabi buta" dan hanya mendapatkan pemberitahuan bahwa gambar jarak jauh diubah (menggunakan tag yang sama), sehingga Anda dapat memulai proses pembuatan dan QA.

Memang. Mekanisme stabil yang dapat digunakan seseorang untuk mendeteksi pembaruan ke penampung _tanpa mengunduh ulang seluruh penampung setiap hari_ akan luar biasa.

Pembaruan keamanan sangat penting, dan dengan tidak adanya fitur ini tidak akan memudahkan Anda untuk selalu terbarui .....

Apakah halaman ini membantu?
0 / 5 - 0 peringkat