Container Registry meng-cache image Docker Hub publik yang sering diakses di mirror.gcr.io
. Anda dapat mengonfigurasi daemon Docker untuk menggunakan image publik yang di-cache jika tersedia, atau mengambil image dari Docker Hub jika salinan yang di-cache tidak tersedia.
Layanan Google Cloud seperti Cloud Build dan Google Kubernetes Engine secara otomatis memeriksa image yang disimpan dalam cache sebelum mencoba mengambil image dari Docker Hub.
Gambar yang disimpan dalam cache pada mirror.gcr.io
adalah:
- Disimpan di repositori yang dikelola Google.
- Lebih terisolasi dari pemadaman Docker Hub.
- Mudah terintegrasi dengan ekosistem Google Cloud.
- Tetap sinkron dengan Docker Hub.
Mengonfigurasi daemon Docker
Untuk mengonfigurasi daemon Docker agar dapat mengambil image dari cache Container Registry:
CLI
Konfigurasikan daemon dengan salah satu cara berikut:
Untuk mengonfigurasi daemon Docker secara otomatis saat startup, tetapkan nilai berikut di
/etc/docker/daemon.json
{ "registry-mirrors": ["https://mirror.gcr.io"] }
Saat Anda memulai daemon, teruskan nama host Container Registry:
dockerd --registry-mirror=https://mirror.gcr.io
Tambahkan baris berikut ke file
/etc/default/docker
Anda:DOCKER_OPTS="${DOCKER_OPTS} --registry-mirror=https://mirror.gcr.io"
Mulai ulang daemon Docker.
Di Linux, jalankan salah satu perintah berikut:
sudo service docker restart
atau
sudo service docker stop && sudo service docker start
Di macOS atau Windows, jalankan perintah berikut:
docker-machine restart
UI Docker
- Buka menu Preferences Docker.
- Klik Daemon.
Klik Lanjutan. Di kolom JSON, tambahkan kunci
registry-mirrors
denganhttps://mirror.gcr.io
sebagai nilai:{ "registry-mirrors" : [ "https://mirror.gcr.io" ] }
Klik Apply & Restart.
Untuk memastikan cache dikonfigurasi dengan benar, jalankan:
docker system info
Output harus menyertakan Registry Mirrors
, dan akan terlihat seperti
berikut:
Containers: 2
Running: 0
Paused: 0
Stopped: 2
Images: 2
Server Version: 17.03.1-ce
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: true
Logging Driver: json-file
...
Registry Mirrors:
https://mirror.gcr.io
Menarik gambar yang disimpan dalam cache
Container Registry menambahkan image yang sering diminta ke cache sehingga tersedia untuk permintaan mendatang. Tindakan ini juga secara berkala menghapus gambar yang tidak lagi diminta.
Setelah Anda mengonfigurasi daemon Docker untuk menggunakan cache Container Registry, Docker melakukan langkah-langkah berikut saat Anda menarik image Docker Hub publik dengan perintah docker pull
:
- Daemon Docker memeriksa cache Container Registry dan mengambil image jika ada. Jika konfigurasi daemon Anda menyertakan mirror Docker lainnya, daemon akan memeriksa setiap instance untuk menemukan salinan image yang di-cache.
- Jika image masih tidak ditemukan, daemon Docker mengambil image dari repositori kanonis di Docker Hub.
Pengambilan image yang di-cache tidak diperhitungkan terhadap batas kapasitas Docker Hub. Namun, tidak ada jaminan bahwa gambar tertentu akan tetap disimpan dalam cache dalam jangka waktu yang lama. Hanya dapatkan image yang di-cache di mirror.gcr.io
dengan
mengonfigurasi daemon Docker. Permintaan untuk mengambil langsung dari
mirror.gcr.io
akan gagal jika salinan gambar yang di-cache tidak ada.
Langkah selanjutnya
- Anda dapat membuat mirror Docker lokal untuk meng-cache image. Untuk mengetahui detailnya, lihat dokumentasi Docker.
- Baca dokumentasi Docker Hub.