Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Bekerja dengan Amazon Elastic Container Registry
Anda dapat mengakses layanan Amazon Elastic Container Registry (Amazon ECR) langsung dari AWS Explorer di VS Code dan menggunakannya untuk mendorong gambar program ke repositori Amazon ECR. Untuk memulai, Anda perlu melakukan langkah-langkah ini:
-
Buat Dockerfile yang berisi informasi yang diperlukan untuk membangun gambar.
-
Buat gambar dari Dockerfile itu dan beri tag gambar untuk diproses.
-
Buat repositori di dalam instance Amazon ECR Anda.
-
Dorong gambar yang ditandai ke repositori Anda.
Prasyarat
Anda perlu menyelesaikan langkah-langkah ini untuk mengakses layanan Amazon ECR dari VS Code Explorer.
Sebelum Anda dapat mengakses AWS layanan, seperti Amazon ECR, Anda harus memberikan kredenSIAL. Ini agar layanan dapat menentukan apakah Anda memiliki izin untuk mengakses sumber dayanya. Kami tidak menyarankan Anda mengakses AWS secara langsung melalui kredenSIAL untuk AWS akun root Anda. Sebagai gantinya, gunakan AWS Identity and Access Management (IAM) untuk membuat pengguna IAM dan kemudian tambahkan pengguna tersebut ke grup IAM dengan izin administratif. Anda kemudian dapat mengakses AWS menggunakan URL khusus dan kredenSIAL untuk pengguna IAM.
Jika Anda mendaftar AWS tetapi tidak membuat pengguna IAM untuk diri sendiri, Anda dapat membuatnya menggunakan konsol IAM.
Untuk membuat pengguna administrator, pilih salah satu opsi berikut.
| Pilih salah satu cara untuk mengelola administrator Anda | Untuk | Oleh | Anda juga bisa |
|---|---|---|---|
| Di Pusat Identitas IAM (Direkomendasikan) |
Gunakan kredenSIAL jangka pendek untuk mengakses AWS. Ini sejalan dengan praktik terbaik keamanan. Untuk informasi tentang praktik terbaik, lihat Prakti k terbaik keamanan di IAM di Panduan Pengguna IAM. |
Mengikuti petunjuk di Mem ulai di Panduan AWS IAM Identity Center Pengguna. | Konfigurasikan akses terprogram dengan Mengonfigurasi AWS CLI untuk digunakan AWS IAM Identity Center dalam Panduan AWS Command Line Interface Pengguna. |
| Dalam IAM (Tidak direkomendasikan) |
Gunakan kredenSIAL jangka panjang untuk mengakses AWS. | Mengikuti petunjuk dalam Membuat pengguna IAM untuk akses darurat di Panduan Pengguna IAM. | Konfigurasikan akses terprogram dengan Kelola kunci akses untuk pengguna IAM di Panduan Pengguna IAM. |
Untuk masuk sebagai pengguna IAM baru ini, keluar dari AWS konsol, lalu gunakan URL berikut. Di URL berikut, di mana your_aws_account_id adalah nomor AWS akun Anda tanpa tanda hubung (misalnya, jika nomor akun Anda adalah, ID AWS akun Anda adalah): 1234-5678-9012 AWS 123456789012
https://your_aws_account_id.signin.aws.amazon.com/console/
Masukkan nama pengguna dan kata sandi IAM yang baru saja Anda buat. Saat Anda masuk, bilah navigasi menampilkan "nama_pengguna_Anda @ id_akun_aws_Anda".
Jika Anda tidak ingin URL halaman masuk berisi ID AWS akun Anda, Anda dapat membuat alias akun. Dari dasbor IAM, pilih Ku stomisasi dan masukkan Alias Akun. Ini bisa menjadi nama perusahaan Anda. Untuk informasi selengkapnya, lihat ID AWS akun Anda dan aliasnya di Panduan Pengguna IAM.
Untuk masuk setelah membuat alias akun, gunakan URL berikut:
https://your_account_alias.signin.aws.amazon.com/console/
Untuk memverifikasi tautan masuk untuk pengguna IAM untuk akun Anda, buka konsol IAM dan periksa di Tautan masuk pengguna IAM di dasbor.
Untuk informasi lebih lanjut tentang IAM, lihat Panduan Pengguna AWS Identity and Access Management.
Anda dapat menginstal dan mengkonfigurasi Docker dengan memilih sistem operasi pilihan Anda dari panduan pengguna
Instal dan konfigur AWS asikan CLI versi 2 dengan memilih sistem operasi pilihan Anda dari panduan pengguna Meng instal, memperbarui, dan menghapus AWS instalasi CLI versi 2.
1. Membuat Dockerfile
Docker menggunakan file yang disebut Dockerfile untuk menentukan gambar yang dapat didorong dan disimpan di repositori jarak jauh. Sebelum Anda dapat mengunggah gambar ke repositori ECR, Anda harus membuat Dockerfile dan kemudian membangun gambar dari Dockerfile itu.
Membuat Dockerfile
-
Gunakan Toolkit for VS Code explorer untuk menavigasi ke direktori tempat Anda ingin menyimpan Dockerfile Anda.
-
Buat file baru yang disebut Docker file.
catatan
VS Code dapat meminta Anda untuk memilih jenis file atau ekstensi file. Jika ini terjadi, pilih plaintext. Vs Code memiliki ekstensi “dockerfile”. Namun, kami tidak menyarankan Anda menggunakannya. Ini karena ekstensi dapat menyebabkan konflik dengan versi Docker tertentu atau aplikasi terkait lainnya.
Edit Dockerfile Anda menggunakan VS Code
Jika Dockerfile Anda memiliki ekstensi file, buka menu konteks (klik kanan) untuk file tersebut dan hapus ekstensi file.
Setelah ekstensi file dihapus dari Dockerfile Anda:
-
Buka Dockerfile kosong langsung di VS Code.
-
Salin isi contoh berikut ke Dockerfile Anda:
contoh Templat gambar Dockerfile
FROM ubuntu:18.04 # Install dependencies RUN apt-get update && \ apt-get -y install apache2 # Install apache and write hello world message RUN echo 'Hello World!' > /var/www/html/index.html # Configure apache RUN echo '. /etc/apache2/envvars' > /root/run_apache.sh && \ echo 'mkdir -p /var/run/apache2' >> /root/run_apache.sh && \ echo 'mkdir -p /var/lock/apache2' >> /root/run_apache.sh && \ echo '/usr/sbin/apache2 -D FOREGROUND' >> /root/run_apache.sh && \ chmod 755 /root/run_apache.sh EXPOSE 80 CMD /root/run_apache.shIni adalah Dockerfile yang menggunakan gambar Ubuntu 18.04. Instruk si RUN memperbarui cache paket. Instal paket perangkat lunak untuk server web, dan kemudian tulis “Hello World!” konten ke root dokumen server web. Instruksi EXPOSE mengek spos port 80 pada wadah, dan instruksi CMD memulai server web.
-
Simpan Dockerfile Anda.
penting
Pastikan bahwa Dockerfile Anda tidak memiliki ekstensi yang dilampirkan pada nama. Dockerfile dengan ekstensi dapat menyebabkan konflik dengan versi Docker tertentu atau aplikasi terkait lainnya.
2. Bangun gambar Anda dari Dockerfile Anda
Dockerfile yang Anda buat berisi informasi yang diperlukan untuk membangun gambar untuk sebuah program. Sebelum Anda dapat mendorong gambar itu ke instance Amazon ECR Anda, Anda harus terlebih dahulu membuat gambar.
Buat gambar dari Dockerfile Anda
-
Gunakan Docker CLI atau CLI yang terintegrasi dengan instance Docker Anda untuk menavigasi ke direktori yang berisi Dockerfile Anda.
-
Jalankan perintah build Docker untuk membangun image yang didefinisikan dalam Dockerfile Anda.
docker build -t hello-world . -
Jalan kan perintah Docker images untuk memverifikasi bahwa gambar dibuat dengan benar.
docker images --filter reference=hello-worldcontoh contoh keluaran:
REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest e9ffedc8c286 4 minutes ago 241MB -
catatan
Langkah ini tidak diperlukan untuk membuat atau mendorong gambar Anda, tetapi Anda dapat melihat bagaimana gambar program bekerja saat dijalankan.
Untuk menjalankan gambar yang baru dibuat gunakan perintah Docker run.
docker run -t -i -p 80:80 hello-worldOpsi -p yang ditentukan dalam contoh sebelumnya memetakan port 80 yang terbuka pada wadah ke port 80 dari sistem host. Jika Anda menjalankan Docker secara lokal, arahkan ke:80 http://localhost menggunakan browser web
Anda. Jika program berjalan dengan benar, “Hello World!” pernyataan ditampilkan. Untuk informasi selengkapnya tentang perintah Docker run, lihat referensi menjalankan Docker
di situs web Docker.
3. Buat repositori baru
Untuk mengunggah gambar Anda ke instance Amazon ECR Anda, buat repositori baru tempat ia dapat disimpan.
Buat repositori Amazon ECR baru
-
Dari VS Code Ac tivity Bar, pilih ikon AWS Toolkit.
-
Perluas menu AWS Explorer.
-
Cari Wil AWS ayah default yang terkait dengan AWS akun Anda. Kemudian, pilih untuk melihat daftar layanan yang melalui Toolkit untuk VS Code.
-
Pilih opsi ECR + untuk memulai proses Buat repositori baru.
-
Ikuti petunjuk untuk menyelesaikan proses.
-
Setelah selesai, Anda dapat mengakses repositori baru Anda dari bagian ECR dari menu AWS Explorer.
4. Dorong, tarik, dan hapus gambar
Setelah Anda membuat gambar dari Dockerfile Anda dan membuat repositori, Anda dapat mendorong gambar Anda ke repositori Amazon ECR Anda. Selain itu, menggunakan AWS Explorer dengan Docker dan AWS CLI, Anda dapat melakukan hal berikut:
-
Tarik gambar dari repositori Anda.
-
Hapus gambar yang disimpan di repositori Anda.
-
Hapus repositori Anda.
Otentikasi Docker dengan registri default Anda
Otentikasi diperlukan untuk bertukar data antara instans Amazon ECR dan Docker. Untuk mengotentikasi Docker dengan registri Anda:
-
Buka sistem operasi baris perintah yang terhubung ke instance AWS CLI Anda.
-
Gunakan metode get-login-password untuk mengotentikasi ke registri ECR pribadi Anda.
aws ecr get-login-password --regionregion| docker login --username AWS --password-stdinAWS_account_id.dkr.ecr.region.amazonaws.com.rproxy.goskope.compenting
Pada perintah sebelumnya, Anda harus memperbarui informasi
regiondanAWS_account_idke informasi yang spesifik untuk AWS akun Anda.
Tandai dan dorong gambar ke repositori Anda
Setelah Anda mengautentikasi Docker dengan instance Anda AWS, dorong gambar ke repositori Anda.
-
Gunakan perintah Docker images untuk melihat gambar yang Anda simpan secara lokal dan mengidentifikasi gambar yang ingin Anda tag.
docker imagescontoh contoh keluaran:
REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest e9ffedc8c286 4 minutes ago 241MB -
Tandai gambar Anda dengan perintah tag Docker.
docker tag hello-world:latestAWS_account_id.dkr.ecr.region.amazonaws.com/hello-world:latest -
Dorong gambar yang ditandai ke repositori Anda dengan perintah tag Docker.
docker pushAWS_account_id.dkr.ecr.region.amazonaws.com/hello-world:latestcontoh contoh keluaran:
The push refers to a repository [AWS_account_id.dkr.ecr.region.amazonaws.com/hello-world] (len: 1) e9ae3c220b23: Pushed a6785352b25c: Pushed 0998bf8fb9e9: Pushed 0a85502c06c9: Pushed latest: digest: sha256:215d7e4121b30157d8839e81c4e0912606fca105775bb0636b95aed25f52c89b size: 6774
Setelah gambar yang ditandai berhasil diunggah ke repositori Anda, gambar tersebut akan terlihat di menu AWS Explorer.
Tarik gambar dari Amazon ECR
-
Anda dapat menarik gambar ke instance lokal perintah tag Docker.
docker pullAWS_account_id.dkr.ecr.region.amazonaws.com/hello-world:latestcontoh contoh keluaran:
The push refers to a repository [AWS_account_id.dkr.ecr.region.amazonaws.com/hello-world] (len: 1) e9ae3c220b23: Pushed a6785352b25c: Pushed 0998bf8fb9e9: Pushed 0a85502c06c9: Pushed latest: digest: sha256:215d7e4121b30157d8839e81c4e0912606fca105775bb0636b95aed25f52c89b size: 6774
Hapus gambar dari repositori Amazon ECR Anda
Ada dua metode untuk menghapus gambar dari VS Code. Metode pertama adalah menggunakan AWS Explorer.
-
Dari AWS Explorer, perluas menu ECR
-
Perluas repositori tempat Anda ingin menghapus gambar
-
Pilih tag gambar yang terkait dengan gambar yang ingin Anda hapus, dengan membuka menu konteks (klik kanan)
-
Pilih H apus Tag... opsi untuk menghapus semua gambar tersimpan yang terkait dengan tag itu
Menghapus gambar menggunakan AWS CLI
-
Anda juga dapat menghapus gambar dari repositori Anda dengan perintah AWS cr batch-delet e-image.
AWS ecr batch-delete-image \ --repository-namehello-world\ --image-ids imageTag=latestcontoh contoh keluaran:
{ "failures": [], "imageIds": [ { "imageTag": "latest", "imageDigest": "sha256:215d7e4121b30157d8839e81c4e0912606fca105775bb0636b95aed25f52c89b" } ] }
Hapus repositori dari instance Amazon ECR Anda
Ada dua metode untuk menghapus repositori dari VS Code. Metode pertama adalah menggunakan AWS Explorer.
-
Dari AWS Explorer, perluas menu ECR
-
Pilih repositori yang ingin Anda hapus dengan membuka menu konteks (klik kanan)
-
Pilih H apus Repositori... opsi ke repositori yang dipilih
Hapus repositori Amazon ECR dari AWS CLI
-
Anda dapat menghapus repositori dengan perintah AWS cr delete-repository.
catatan
Secara default, Anda tidak dapat menghapus repositori yang berisi gambar. Namun, flag --force memungkinkan ini.
AWS ecr delete-repository \ --repository-namehello-world\ --forcecontoh contoh keluaran:
{ "failures": [], "imageIds": [ { "imageTag": "latest", "imageDigest": "sha256:215d7e4121b30157d8839e81c4e0912606fca105775bb0636b95aed25f52c89b" } ] }