View a markdown version of this page

Bekerja dengan Amazon Elastic Container Registry - AWS Toolkit for VS Code

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:

  1. Buat Dockerfile yang berisi informasi yang diperlukan untuk membangun gambar.

  2. Buat gambar dari Dockerfile itu dan beri tag gambar untuk diproses.

  3. Buat repositori di dalam instance Amazon ECR Anda.

  4. 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 Install Docker Engine dan mengikuti instruksi.

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
  1. Gunakan Toolkit for VS Code explorer untuk menavigasi ke direktori tempat Anda ingin menyimpan Dockerfile Anda.

  2. 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:

  1. Buka Dockerfile kosong langsung di VS Code.

  2. 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.sh

    Ini 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.

  3. 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
  1. Gunakan Docker CLI atau CLI yang terintegrasi dengan instance Docker Anda untuk menavigasi ke direktori yang berisi Dockerfile Anda.

  2. Jalankan perintah build Docker untuk membangun image yang didefinisikan dalam Dockerfile Anda.

    docker build -t hello-world .
  3. Jalan kan perintah Docker images untuk memverifikasi bahwa gambar dibuat dengan benar.

    docker images --filter reference=hello-world
    contoh contoh keluaran:
    REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest e9ffedc8c286 4 minutes ago 241MB
  4. 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-world

    Opsi -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
  1. Dari VS Code Ac tivity Bar, pilih ikon AWS Toolkit.

  2. Perluas menu AWS Explorer.

  3. Cari Wil AWS ayah default yang terkait dengan AWS akun Anda. Kemudian, pilih untuk melihat daftar layanan yang melalui Toolkit untuk VS Code.

  4. Pilih opsi ECR + untuk memulai proses Buat repositori baru.

  5. Ikuti petunjuk untuk menyelesaikan proses.

  6. 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:

  1. Buka sistem operasi baris perintah yang terhubung ke instance AWS CLI Anda.

  2. Gunakan metode get-login-password untuk mengotentikasi ke registri ECR pribadi Anda.

    aws ecr get-login-password --region region | docker login --username AWS --password-stdin AWS_account_id.dkr.ecr.region.amazonaws.com
    penting

    Pada perintah sebelumnya, Anda harus memperbarui informasi region dan AWS_account_id ke 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.

  1. Gunakan perintah Docker images untuk melihat gambar yang Anda simpan secara lokal dan mengidentifikasi gambar yang ingin Anda tag.

    docker images
    contoh contoh keluaran:
    REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest e9ffedc8c286 4 minutes ago 241MB
  2. Tandai gambar Anda dengan perintah tag Docker.

    docker tag hello-world:latest AWS_account_id.dkr.ecr.region.amazonaws.com/hello-world:latest
  3. Dorong gambar yang ditandai ke repositori Anda dengan perintah tag Docker.

    docker push AWS_account_id.dkr.ecr.region.amazonaws.com/hello-world:latest
    contoh 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 pull AWS_account_id.dkr.ecr.region.amazonaws.com/hello-world:latest
    contoh 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.

  1. Dari AWS Explorer, perluas menu ECR

  2. Perluas repositori tempat Anda ingin menghapus gambar

  3. Pilih tag gambar yang terkait dengan gambar yang ingin Anda hapus, dengan membuka menu konteks (klik kanan)

  4. 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-name hello-world \ --image-ids imageTag=latest
    contoh 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.

  1. Dari AWS Explorer, perluas menu ECR

  2. Pilih repositori yang ingin Anda hapus dengan membuka menu konteks (klik kanan)

  3. 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-name hello-world \ --force
    contoh contoh keluaran:
    { "failures": [], "imageIds": [ { "imageTag": "latest", "imageDigest": "sha256:215d7e4121b30157d8839e81c4e0912606fca105775bb0636b95aed25f52c89b" } ] }