Menyimpan image container Docker di Artifact Registry
Artifact Registry menyediakan satu lokasi untuk mengelola paket pribadi dan image container Docker.
Panduan memulai ini menunjukkan cara:
- Membuat repositori Docker pribadi di Artifact Registry
- Menyiapkan autentikasi
- Mengirim image ke repositori
- Mengambil image dari repositori
Jika ingin mengikuti panduan langkah demi langkah untuk tugas ini langsung di Konsol Google Cloud, klik Pandu saya:
Sebelum memulai
- Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.
-
Aktifkan API Artifact Registry.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.
-
Aktifkan API Artifact Registry.
Memilih shell
Untuk menyelesaikan panduan memulai ini, gunakan Cloud Shell atau shell lokal Anda.
- Cloud Shell
- Cloud Shell adalah lingkungan shell untuk mengelola resource yang dihosting di Google Cloud. Aplikasi ini dilengkapi dengan Docker dan Google Cloud CLI, antarmuka command line utama untuk Google Cloud.
- Shell lokal
- Jika lebih suka menggunakan shell lokal, Anda harus menginstal Docker dan gcloud CLI di lingkungan Anda.
Memulai Cloud Shell
Untuk meluncurkan Cloud Shell, lakukan langkah-langkah berikut:
Buka Konsol Google Cloud.
Klik tombol Activate Cloud Shell: .
Sesi Cloud Shell akan terbuka di dalam frame yang lebih rendah di konsol.
Anda menggunakan shell ini untuk menjalankan perintah gcloud
.
Menyiapkan shell lokal
Untuk menginstal gcloud CLI dan Docker, lakukan langkah-langkah berikut:
Instal gcloud CLI. Untuk mengupdate penginstalan yang sudah ada, jalankan perintah
gcloud components update
.Instal Docker jika belum diinstal.
Docker memerlukan akses hak istimewa untuk berinteraksi dengan registry. Di Linux atau Windows, tambahkan pengguna yang Anda gunakan untuk menjalankan perintah Docker ke grup keamanan Docker. Langkah ini tidak diperlukan di MacOS karena Docker Desktop berjalan di virtual machine sebagai pengguna root.
Linux
Grup keamanan Docker disebut
docker
. Untuk menambahkan nama pengguna, jalankan perintah berikut:sudo usermod -a -G docker ${USER}
Windows
Grup keamanan Docker disebut
docker-users
. Untuk menambahkan pengguna dari command prompt Administrator, jalankan perintah berikut:net localgroup docker-users DOMAIN\USERNAME /add
Dari mana
- DOMAIN adalah domain Windows Anda.
- USERNAME adalah nama pengguna Anda.
Logout dan login kembali agar perubahan keanggotaan grup diterapkan. Jika menggunakan virtual machine, Anda mungkin perlu memulai ulang mesin virtual agar perubahan keanggotaan diterapkan.
Untuk memastikan Docker berjalan, jalankan perintah Docker berikut, yang menampilkan waktu dan tanggal saat ini:
docker run --rm busybox date
Flag --rm
menghapus instance container saat keluar.
Membuat repositori Docker
Buat repositori Docker untuk menyimpan image contoh untuk panduan memulai ini.
Konsol
Buka halaman Repositories di Konsol Google Cloud.
Klik add Create Repository.
Tentukan
quickstart-docker-repo
sebagai nama repositori.Pilih Docker sebagai format dan Standar sebagai mode.
Di bawah Jenis Lokasi, pilih Region dan kemudian pilih lokasi
us-central1
.Klik Create.
Repositori ditambahkan ke daftar repositori.
gcloud
Jalankan perintah berikut untuk membuat repositori Docker baru bernama
quickstart-docker-repo
di lokasius-central1
dengan deskripsi "repositori Docker".gcloud artifacts repositories create quickstart-docker-repo --repository-format=docker \ --location=us-central1 --description="Docker repository" \ --project=PROJECT
Dengan PROJECT sebagai project ID Google Cloud Anda.
Jalankan perintah berikut untuk memverifikasi bahwa repositori Anda telah dibuat.
gcloud artifacts repositories list \ --project=PROJECT
Untuk mengetahui informasi selengkapnya tentang perintah Artifact Registry, jalankan perintah gcloud artifacts
.
Mengonfigurasi autentikasi
Sebelum Anda dapat mengirim atau mengambil image, konfigurasikan Docker agar menggunakan Google Cloud CLI untuk mengautentikasi permintaan ke Artifact Registry.
Untuk menyiapkan autentikasi ke repositori Docker di region us-central1
, jalankan perintah berikut:
gcloud auth configure-docker us-central1-docker.pkg.dev
Perintah ini memperbarui konfigurasi Docker Anda. Sekarang Anda dapat terhubung dengan Artifact Registry di project Google Cloud untuk mengirim dan mengambil image.
Untuk mengetahui informasi tentang metode autentikasi lainnya, lihat Metode autentikasi.
Mendapatkan gambar untuk dikirim
Untuk panduan memulai ini, Anda akan mengirim gambar contoh bernama hello-app
.
Jalankan perintah berikut untuk mengambil image versi 1.0.
docker pull us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
Jalur image di Artifact Registry mencakup beberapa bagian. Untuk contoh gambar:
us
adalah lokasi repositori.docker.pkg.dev
adalah nama host untuk image container yang disimpan di repositori Docker Artifact Registry.google-samples
adalah ID repositori.containers/gke/
adalah jalur ke gambar di bagiangoogle-samples
.
Menambahkan image ke repositori
Sebelum mengirim image Docker ke Artifact Registry, Anda harus memberinya tag dengan nama repositori.
Beri tag pada image dengan nama registry
Memberi tag pada image Docker dengan nama repositori akan mengonfigurasi perintah docker push
untuk mengirim image ke lokasi tertentu. Untuk panduan memulai ini, lokasi host-nya adalah us-central1-docker.pkg.dev
.
Jalankan perintah berikut untuk memberi tag pada image sebagai quickstart-image:tag1
:
docker tag us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0 \ us-central1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1
Dari mana
us-central1
adalah lokasi repositori.docker.pkg.dev
adalah nama host untuk repositori Docker yang Anda buat.- PROJECT adalah project ID Google Cloud Anda.
Jika project ID Anda berisi titik dua (
:
), lihat Project cakupan domain. quickstart-docker-repo
adalah ID repositori yang Anda buat.quickstart-image
adalah nama image yang ingin Anda gunakan di repositori. Nama image dapat berbeda dengan nama image lokal. Untuk panduan memulai ini, Anda akan menyimpan image langsung di bagian ID repositoriquickstart-docker-repo
.tag1
adalah tag yang Anda tambahkan ke image Docker. Jika Anda tidak menentukan tag, Docker akan menerapkan tag defaultlatest
.
Sekarang Anda siap untuk mengirim image ke repositori yang Anda buat.
Mengirim image ke Artifact Registry
Setelah mengonfigurasi autentikasi dan memberi tag image lokal, Anda dapat mengirim image ke repositori yang Anda buat.
Untuk mengirim image Docker, jalankan perintah berikut:
docker push us-central1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1
Ganti PROJECT dengan project ID Google Cloud Anda.
Jika project ID Anda berisi titik dua (:
), lihat Project cakupan domain.
Mengambil image dari Artifact Registry
Untuk mengambil image dari Artifact Registry ke komputer lokal, jalankan perintah berikut:
docker pull us-central1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1
Ganti PROJECT dengan project ID Google Cloud Anda.
Jika project ID Anda berisi titik dua (:
), lihat Project cakupan domain.
Anda akan melihat output yang mirip dengan berikut ini:
latest: Pulling from [PROJECT-ID]/quickstart-image:tag1 Digest: sha256:70c42... Status: Image is up to date for us-central1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1
Pembersihan
Agar akun Google Cloud Anda tidak dikenakan biaya untuk resource yang digunakan pada halaman ini, ikuti langkah-langkah berikut.
Sebelum menghapus repositori, pastikan setiap gambar yang ingin Anda simpan tersedia di lokasi lain.
Untuk menghapus repositori:
Konsol
Buka halaman Repositories di Konsol Google Cloud.
Dalam daftar repositori, pilih repositori
quickstart-docker-repo
.Klik Delete.
gcloud
Untuk menghapus repositori quickstart-docker-repo
, jalankan perintah berikut:
gcloud artifacts repositories delete quickstart-docker-repo --location=us-central1
Langkah selanjutnya
- Pelajari lebih lanjut cara menggunakan image container.
- Pelajari Docker lebih lanjut.
- Baca referensi kami tentang DevOps dan jelajahi program riset Riset dan Penilaian DevOps (DORA).