

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Buat dan uji gambar Docker untuk layanan kontainer Lightsail
<a name="amazon-lightsail-creating-container-images"></a>

Dengan Docker, Anda dapat membangun, menjalankan, menguji, dan menyebarkan aplikasi terdistribusi yang didasarkan pada kontainer. Layanan kontainer Amazon Lightsail menggunakan gambar kontainer Docker dalam deployment untuk meluncurkan kontainer.

Dalam panduan ini, kami menunjukkan cara untuk membuat gambar kontainer pada mesin lokal Anda dengan menggunakan Dockerfile. Setelah gambar dibuat, Anda dapat mendorongnya ke layanan kontainer Lightsail untuk men-deploy-nya.

Untuk menyelesaikan prosedur dalam panduan ini Anda harus memiliki pemahaman basic tentang apa itu Docker dan cara kerjanya. Untuk informasi selengkapnya tentang Docker, lihat [Apa itu Docker?](https://aws.amazon.com/docker/) dan [Gambaran umum Docker](https://docs.docker.com/get-started/overview/).

**Daftar Isi**
+ [Langkah 1: Lengkapi prasyarat](#create-container-image-prerequisite)
+ [Langkah 2: Buat Dockerfile dan buat image container](#create-container-image-create-dockerfile)
+ [Langkah 3: Jalankan gambar kontainer baru Anda](#create-container-image-run-container)
+ [(Opsional) Langkah 4: Bersihkan wadah yang berjalan di mesin lokal Anda](#create-container-image-cleanup)
+ [Langkah selanjutnya setelah membuat gambar kontainer](#create-container-image-next-steps)

## Langkah 1: Selesaikan prasyarat
<a name="create-container-image-prerequisite"></a>

Sebelum memulai, Anda harus menginstal perangkat lunak yang diperlukan untuk membuat kontainer dan kemudian mendorongnya ke layanan kontainer Lightsail Anda. Sebagai contoh, Anda harus menginstal dan menggunakan Docker untuk membuat dan membangun gambar kontainer yang kemudian dapat Anda gunakan dengan layanan kontainer Lightsail. Untuk informasi selengkapnya, lihat [Menginstal perangkat lunak untuk mengelola gambar kontainer untuk layanan kontainer Amazon Lightsail Anda](amazon-lightsail-install-software.md).

## Langkah 2: Buat Dockerfile dan membangun sebuah gambar kontainer
<a name="create-container-image-create-dockerfile"></a>

Selesaikan prosedur berikut untuk membuat Dockerfile, dan membangun gambar kontainer Docker `mystaticwebsite` darinya. Gambar kontainer akan untuk situs web statis sederhana yang dihosting di server web Apache di Ubuntu.

1. Buat folder `mystaticwebsite` pada mesin lokal Anda di mana Anda akan menyimpan Dockerfile Anda.

1. Buat Dockerfile dalam folder yang baru saja Anda buat.

   Dockerfile tidak menggunakan ekstensi file, seperti `.TXT`. Nama file lengkap adalah `Dockerfile`.

1. Salin salah satu blok kode berikut tergantung pada bagaimana Anda ingin mengkonfigurasi gambar kontainer Anda, dan tempel ke Dockerfile Anda:
   + **Jika Anda ingin membuat gambar kontainer situs web statis sederhana dengan pesan Hello World**, maka kemudian salin blok kode berikut dan tempelkan ke Dockerfile Anda. Sampel kode ini menggunakan citra Ubuntu 18.04. Instruksi `RUN` akan memperbarui cache paket, dan menginstal serta mengkonfigurasi Apache, dan mencetak pesan Hello World ke akar dokumen server web. Instruksi `EXPOSE` mengekspos port 80 pada kontainer, dan instruksi `CMD` memulai server web.

     ```
     FROM ubuntu:18.04
     
     # Install dependencies
     RUN apt-get update && \
      apt-get -y install apache2
     
     # Write hello world message
     RUN echo 'Hello World!' > /var/www/html/index.html
     
     # Open port 80
     EXPOSE 80
     
     # Start Apache service
     CMD ["/usr/sbin/apache2ctl", "-D", "FOREGROUND"]
     ```
   + **Jika Anda ingin menggunakan seperangkat file HTML Anda sendiri untuk gambar kontainer situs web statis Anda**, buat folder `html` di folder yang sama di mana Anda menyimpan Dockerfile Anda. Kemudian letakkan file HTML Anda dalam folder tersebut.

     Setelah file HTML Anda berada di folder `html`, salin blok kode berikut dan tempelkan ke Dockerfile Anda. Sampel kode ini menggunakan citra Ubuntu 18.04. Instruksi `RUN` memperbarui cache paket, dan menginstal serta mengkonfigurasi Apache. Instruksi `COPY` menyalin isi folder html ke akar dokumen server web. Instruksi `EXPOSE` mengekspos port 80 pada kontainer, dan instruksi `CMD` memulai server web.

     ```
     FROM ubuntu:18.04
     
     # Install dependencies
     RUN apt-get update && \
      apt-get -y install apache2
     
     # Copy html directory files
     COPY html /var/www/html/
     
     # Open port 80
     EXPOSE 80
     
     CMD ["/usr/sbin/apache2ctl", "-D", "FOREGROUND"]
     ```

1. Buka jendela command prompt atau jendela terminal dan ubah direktori ke folder di mana Anda menyimpan Dockerfile Anda.

1. Masukkan perintah berikut untuk membangun gambar kontainer Anda dengan menggunakan Dockerfile dalam folder tersebut. Perintah ini membangun sebuah gambar kontainer Docker baru yang bernama `mystaticwebsite`.

   ```
   docker build -t mystaticwebsite .
   ```

   Anda akan melihat pesan yang mengonfirmasi gambar Anda berhasil dibangun.

1. Masukkan perintah berikut untuk melihat gambar kontainer pada mesin lokal Anda.

   ```
   docker images --filter reference=mystaticwebsite
   ```

   Anda akan melihat hasil yang mirip dengan contoh berikut, yang menunjukkan gambar kontainer baru yang sudah dibuat.  
![\[Hasil perintah gambar docker\]](http://docs.aws.amazon.com/id_id/lightsail/latest/userguide/images/docker-images-command-result.png)

   Gambar kontainer Anda yang baru dibangun sudah siap untuk diuji dengan menggunakannya untuk menjalankan kontainer baru pada mesin lokal Anda. Lanjutkan ke bagian langkah berikutnya [Langkah 3: Jalankan gambar kontainer baru](#create-container-image-run-container) dalam panduan ini.

## Langkah 3: Jalankan gambar kontainer baru Anda
<a name="create-container-image-run-container"></a>

Selesaikan langkah-langkah berikut untuk menjalankan gambar kontainer baru yang sudah Anda buat.

1. Di jendela command prompt atau terminal, masukkan perintah berikut untuk menjalankan gambar kontainer yang Anda bangun di bagian [Langkah 2: Buat Dockerfile dan membangun gambar kontainer](#create-container-image-create-dockerfile) dalam panduan ini. Opsi `-p 8080:80` memetakan port terbuka 80 pada kontainer ke port 8080 pada mesin lokal Anda. Opsi `-d` menentukan bahwa kontainer harus berjalan dalam modus dilepaskan.

   ```
   docker container run -d -p 8080:80 --name mystaticwebsite mystaticwebsite:latest
   ```

1. Masukkan perintah berikut untuk melihat kontainer yang sedang berjalan.

   ```
   docker container ls -a
   ```

   Anda akan melihat hasil yang mirip dengan contoh berikut, yang menunjukkan kontainer berjalan baru.  
![\[Hasil perintah kontainer docker\]](http://docs.aws.amazon.com/id_id/lightsail/latest/userguide/images/docker-container-command-result.png)

1. Untuk mengonfirmasi bahwa kontainer sudah aktif dan berjalan, buka jendela peramban baru dan jelajahi `http://localhost:8080`. Anda akan melihat pesan yang mirip dengan contoh berikut ini. Pesan ini mengonfirmasi bahwa kontainer Anda sudah aktif dan berjalan pada mesin lokal Anda.  
![\[Situs web statis yang berjalan pada kontainer Docker\]](http://docs.aws.amazon.com/id_id/lightsail/latest/userguide/images/container-mystaticsite-hello-world.png)

   Gambar kontainer yang baru dibuat siap untuk didorong ke akun Lightsail sehingga Anda dapat men-deploy-nya ke layanan kontainer Lightsail Anda. Untuk informasi selengkapnya, lihat [Mendorong dan mengelola gambar kontainer pada layanan kontainer Amazon Lightsail Anda](amazon-lightsail-pushing-container-images.md).

## (Opsional) Langkah 4: Bersihkan kontainer yang berjalan di mesin lokal Anda
<a name="create-container-image-cleanup"></a>

Setelah Anda membuat gambar kontainer yang dapat Anda dorong ke layanan kontainer Lightsail, saatnya Anda untuk membersihkan kontainer yang berjalan di mesin lokal Anda sebagai hasil dari mengikuti prosedur dalam panduan ini.

Selesaikan langkah-langkah berikut untuk membersihkan kontainer berjalan pada komputer lokal Anda:

1. Jalankan perintah berikut untuk melihat kontainer berjalan pada komputer lokal Anda.

   ```
   docker container ls -a
   ```

   Anda akan melihat hasil yang mirip dengan berikut ini, yang mencantumkan nama kontainer berjalan pada mesin lokal Anda.  
![\[Hasil perintah kontainer docker\]](http://docs.aws.amazon.com/id_id/lightsail/latest/userguide/images/docker-container-command-result.png)

1. Jalankan perintah berikut untuk menghapus kontainer yang telah Anda buat sebelumnya dalam panduan ini. Hal ini akan memaksa kontainer untuk dihentikan, dan secara permanen menghapusnya.

   ```
   docker container rm <ContainerName> --force
   ```

   Dalam perintah, ganti < ContainerName > dengan nama wadah yang ingin Anda hentikan, dan hapus.

   Contoh:

   ```
   docker container rm mystaticwebsite --force
   ```

   Kontainer yang dibuat sebagai hasil dari panduan ini sekarang harus dihapus.

## Langkah selanjutnya setelah membuat gambar kontainer
<a name="create-container-image-next-steps"></a>

Setelah membuat gambar kontainer, dorong gambar tersebut ke layanan kontainer Lightsail saat Anda siap men-deploy-nya. Untuk informasi selengkapnya, lihat [Mengelola gambar layanan kontainer Lightsail](amazon-lightsail-pushing-container-images.md).

**Topics**
+ [Langkah 1: Selesaikan prasyarat](#create-container-image-prerequisite)
+ [Langkah 2: Buat Dockerfile dan membangun sebuah gambar kontainer](#create-container-image-create-dockerfile)
+ [Langkah 3: Jalankan gambar kontainer baru Anda](#create-container-image-run-container)
+ [(Opsional) Langkah 4: Bersihkan kontainer yang berjalan di mesin lokal Anda](#create-container-image-cleanup)
+ [Langkah selanjutnya setelah membuat gambar kontainer](#create-container-image-next-steps)
+ [Kelola gambar kontainer](amazon-lightsail-pushing-container-images.md)
+ [Instal plugin layanan kontainer](amazon-lightsail-install-software.md)
+ [Akses repositori pribadi ECR](amazon-lightsail-container-service-ecr-private-repo-access.md)

# Dorong, lihat, dan hapus gambar kontainer untuk layanan kontainer Lightsail
<a name="amazon-lightsail-pushing-container-images"></a>

Bila Anda membuat deployment dalam layanan kontainer Amazon Lightsail Anda, Anda harus menentukan gambar kontainer sumber untuk masing-masing entri kontainer. Anda dapat menggunakan gambar dari registri publik, seperti Galeri Publik Amazon ECR, atau Anda dapat menggunakan gambar yang Anda buat di mesin lokal Anda. Dalam panduan ini, kami menunjukkan cara untuk mendorong gambar kontainer dari mesin lokal Anda ke layanan kontainer Lightsail Anda. Untuk informasi selengkapnya tentang membuat gambar kontainer, lihat [Membuat gambar layanan kontainer](amazon-lightsail-creating-container-images.md).

**Daftar Isi**
+ [Prasyarat](#push-container-images-prerequisites)
+ [Dorong gambar kontainer dari mesin lokal Anda ke layanan kontainer Anda](#push-container-images)
+ [Lihat gambar kontainer yang disimpan di layanan kontainer Anda](#view-pushed-container-images)
+ [Hapus gambar kontainer yang disimpan di layanan kontainer Anda](#delete-stored-container-images)

## Prasyarat
<a name="push-container-images-prerequisites"></a>

Selesaikan prasyarat berikut sebelum Anda mulai mendorong gambar kontainer ke layanan kontainer Anda:
+ Buat layanan kontainer Anda di akun Lightsail Anda. Untuk informasi selengkapnya, lihat [Membuat layanan kontainer Amazon Lightsail](amazon-lightsail-creating-container-services.md).
+ Pasang perangkat lunak pada mesin lokal Anda yang Anda butuhkan untuk membuat gambar kontainer Anda sendiri dan mendorongnya ke layanan kontainer Lightsail Anda. Untuk informasi selengkapnya, lihat [Menginstal perangkat lunak untuk mengelola gambar kontainer untuk layanan kontainer Amazon Lightsail Anda](amazon-lightsail-install-software.md).
+ Buat gambar kontainer pada mesin lokal Anda, sehingga Anda dapat mendorong ke layanan kontainer Lightsail Anda. Untuk informasi selengkapnya, lihat [Membuat gambar kontainer untuk layanan kontainer Amazon Lightsail Anda](amazon-lightsail-creating-container-images.md).

## Mendorong gambar kontainer dari mesin lokal Anda ke layanan kontainer Anda
<a name="push-container-images"></a>

Selesaikan prosedur berikut untuk mendorong gambar kontainer Anda ke layanan kontainer Anda.

1. Buka jendela command prompt atau terminal.

1. Di jendela command prompt atau terminal, masukkan perintah berikut untuk melihat gambar Docker yang saat ini ada di komputer lokal Anda.

   ```
   docker images
   ```

1. Dalam hasilnya, cari nama (nama repositori) dan tag dari gambar kontainer yang ingin Anda dorong ke layanan kontainer Anda. Catat itu semua karena Anda membutuhkannya di langkah berikutnya.  
![\[Gambar kontainer Docker pada mesin lokal\]](http://docs.aws.amazon.com/id_id/lightsail/latest/userguide/images/amazon-lightsail-container-service-docker-images.png)

1. Masukkan perintah berikut untuk melihat gambar kontainer pada mesin lokal Anda.

   ```
   aws lightsail push-container-image --region <Region> --service-name <ContainerServiceName> --label <ContainerImageLabel> --image <LocalContainerImageName>:<ImageTag>
   ```

   Dalam perintah itu, ganti:
   + *<Region>*dengan Wilayah AWS tempat layanan kontainer Anda dibuat.
   + *<ContainerServiceName>*dengan nama layanan kontainer Anda.
   + *<ContainerImageLabel>*dengan label yang ingin Anda berikan gambar kontainer Anda saat disimpan di layanan kontainer Anda. Tentukan label deskriptif yang dapat Anda gunakan untuk melacak versi yang berbeda dari gambar kontainer terdaftar Anda.

     Label akan menjadi bagian dari nama gambar kontainer yang dihasilkan oleh layanan kontainer Anda. Misalnya, jika nama layanan kontainer `container-service-1` Anda, label gambar kontainer-nya adalah `mystaticsite`, dan ini adalah versi pertama dari gambar kontainer Anda yang sedang Anda dorong, maka nama gambar yang dihasilkan oleh layanan kontainer Anda adalah `:container-service-1.mystaticsite.1`.
   + *<LocalContainerImageName>*dengan nama gambar kontainer yang ingin Anda dorong ke layanan kontainer Anda. Anda memperoleh nama gambar kontainer di langkah sebelumnya dalam prosedur ini.
   + *<ImageTag>*dengan tag gambar kontainer yang ingin Anda dorong ke layanan kontainer Anda. Anda memperoleh tag gambar kontainer di langkah sebelumnya dalam prosedur ini.

   Contoh:

   ```
   aws lightsail push-container-image --region us-west-2 --service-name myservice --label mystaticwebsite --image mystaticwebsite:v2
   ```

   Anda akan melihat hasil yang mirip dengan contoh berikut, yang mengonfirmasi bahwa gambar kontainer Anda didorong ke layanan kontainer Anda.  
![\[Gambar kontainer Docker didorong ke layanan kontainer Lightsail\]](http://docs.aws.amazon.com/id_id/lightsail/latest/userguide/images/amazon-lightsail-container-service-pushed-image.png)

   Lihat bagian [Melihat gambar kontainer yang tersimpan di layanan kontainer Anda](#view-pushed-container-images) berikut ini dalam panduan ini untuk melihat gambar kontainer yang Anda dorong di layanan kontainer Anda di konsol Lightsail.

## Melihat gambar kontainer yang tersimpan di layanan kontainer Anda
<a name="view-pushed-container-images"></a>

Selesaikan prosedur berikut untuk melihat gambar kontainer yang didorong, dan sedang disimpan, pada layanan kontainer Anda.

1. Masuk ke konsol [Lightsail](https://lightsail.aws.amazon.com/).

1. Di panel navigasi kiri, pilih **Kontainer**.

1. Pilih nama layanan kontainer yang Anda ingin lihat gambar kontainer tersimpan-nya.

1. Pada halaman pengelolaan layanan kontainer, pilih tab **Gambar**.
**catatan**  
Tab **Gambar** tidak akan ditampilkan jika Anda tidak mendorong gambar ke layanan kontainer Anda. Untuk menampilkan tab gambar untuk layanan kontainer Anda, Anda harus terlebih dahulu mendorong gambar kontainer ke layanan Anda.

   Halaman **Gambar** mencantumkan gambar kontainer yang didorong ke layanan kontainer Anda, dan yang saat ini disimpan pada layanan Anda. Gambar kontainer yang sedang digunakan dalam deployment saat ini tidak dapat dihapus dan dicantumkan dengan ikon hapus warna abu-abu.  
![\[Halaman gambar yang disimpan dari konsol Lightsail\]](http://docs.aws.amazon.com/id_id/lightsail/latest/userguide/images/amazon-lightsail-container-services-stored-images-page.png)

   Anda dapat membuat deployment dengan menggunakan gambar kontainer yang disimpan pada layanan Anda. Untuk informasi selengkapnya, lihat Membuat dan mengelola deployment untuk layanan kontainer Amazon Lightsail.

## Menghapus gambar kontainer yang tersimpan di layanan kontainer Anda
<a name="delete-stored-container-images"></a>

Selesaikan prosedur berikut untuk menghapus gambar kontainer yang didorong, dan sedang disimpan, pada layanan kontainer Anda.

1. Masuk ke konsol [Lightsail](https://lightsail.aws.amazon.com/).

1. Di panel navigasi kiri, pilih **Kontainer**.

1. Pilih nama layanan kontainer yang ingin Anda lihat versi deployment-nya saat ini.

1. Pada halaman pengelolaan layanan kontainer, pilih tab **Gambar**.
**catatan**  
Tab **Gambar** tidak akan ditampilkan jika Anda tidak mendorong gambar ke layanan kontainer Anda. Untuk menampilkan tab gambar untuk layanan kontainer Anda, Anda harus terlebih dahulu mendorong gambar kontainer ke layanan Anda.

1. Cari gambar kontainer yang ingin Anda hapus, dan pilih ikon hapus (tong sampah).
**catatan**  
Gambar kontainer yang sedang digunakan dalam deployment saat ini tidak dapat dihapus dan ikon hapusnya berwarna abu-abu.

1. Pada prompt konfirmasi yang muncul, pilih **Ya, hapus** untuk mengonfirmasi bahwa Anda ingin menghapus gambar yang disimpan secara permanen.

   Gambar kontainer yang tersimpan akan segera dihapus dari layanan kontainer Anda.

# Instal Docker, AWS CLI, dan plugin Lightsail Control untuk kontainer
<a name="amazon-lightsail-install-software"></a>

Anda dapat menggunakan konsol Amazon Lightsail untuk membuat layanan kontainer Lightsail, dan membuat penerapan menggunakan gambar kontainer dari registri publik online, seperti Galeri Publik Amazon ECR. Untuk membuat gambar kontainer Anda sendiri, dan mendorongnya ke layanan kontainer Anda, Anda harus menginstal perangkat lunak tambahan berikut di komputer yang sama di mana Anda berencana untuk membuat gambar kontainer Anda:
+ **Docker** — Jalankan, uji, dan buat gambar kontainer Anda sendiri yang kemudian dapat Anda gunakan dengan layanan kontainer Lightsail Anda.
+ **AWS Command Line Interface (AWS CLI)** — Tentukan parameter gambar kontainer yang Anda buat, lalu dorong ke layanan kontainer Lightsail Anda. Versi 2.1.1 dan yang lebih baru akan bekerja dengan plugin Lightsail Control.
+ Plugin **Lightsail Control (lightsailctl)** - Memungkinkan untuk mengakses gambar kontainer AWS CLI yang ada di mesin lokal.

Bagian berikut dalam panduan ini menjelaskan di mana kita dapat mengunduh paket perangkat lunak tersebut, dan cara menginstalnya. Untuk informasi selengkapnya tentang layanan kontainer, lihat [Layanan kontainer](amazon-lightsail-container-services.md).

**Daftar Isi**
+ [Instal Docker](#install-software-docker)
+ [Instal AWS CLI](#install-software-aws-cli)
+ [Instal plugin Lightsail Control](#install-software-lightsailctl)
  + [Instal plugin lightsailctl di Windows](#install-lightsailctl-on-windows)
  + [Instal plugin lightsailctl di macOS](#install-lightsailctl-on-macos)
  + [Instal plugin lightsailctl di Linux](#install-lightsailctl-on-linux)

## Instal Docker
<a name="install-software-docker"></a>

Docker adalah sebuah teknologi yang memungkinkan Anda untuk membangun, menjalankan, menguji, dan men-deploy aplikasi terdistribusi yang didasarkan pada kontainer Linux. Anda harus menginstal dan menggunakan perangkat lunak Docker jika Anda ingin membuat gambar kontainer Anda sendiri yang kemudian dapat Anda gunakan dengan layanan kontainer Lightsail Anda. Untuk informasi selengkapnya, lihat [Membuat gambar kontainer untuk layanan kontainer Lightsail Anda](amazon-lightsail-creating-container-images.md).

Docker tersedia untuk banyak sistem operasi yang berbeda, termasuk sebagian besar distribusi Linux modern, seperti Ubuntu, dan bahkan macOS dan Windows. Untuk informasi lebih lanjut tentang cara menginstal Docker pada sistem operasi tertentu Anda, lihat [panduan penginstalan Docker](https://docs.docker.com/engine/installation/#installation).

**catatan**  
Selalu instal Docker versi terbaru. Versi Docker yang lebih lama tidak dijamin berfungsi dengan plugin AWS CLI and Lightsail Control (lightsailctl) yang dijelaskan nanti dalam panduan ini. 

## Instal AWS CLI
<a name="install-software-aws-cli"></a>

 AWS CLI Ini adalah alat open source yang memungkinkan Anda berinteraksi dengan AWS layanan, seperti Lightsail, menggunakan perintah di shell baris perintah Anda. Anda harus menginstal dan menggunakan AWS CLI untuk mendorong gambar kontainer Anda, yang dibuat pada mesin lokal Anda, ke layanan kontainer Lightsail Anda.

 AWS CLI Tersedia dalam versi berikut:
+ **Versi 2.x — Rilis** saat ini, umumnya tersedia dari file. AWS CLI Ini adalah versi utama terbaru dari AWS CLI dan mendukung semua fitur terbaru, termasuk kemampuan untuk mendorong gambar kontainer ke layanan kontainer Lightsail Anda. Versi 2.1.1 dan yang lebih baru akan bekerja dengan plugin Lightsail Control.
+ **Versi 1.x** — Versi sebelumnya dari AWS CLI yang tersedia untuk kompatibilitas mundur. Versi ini tidak mendukung kemampuan untuk mendorong gambar kontainer Anda ke layanan kontainer Lightsail Anda. Oleh karena itu, Anda harus menginstal AWS CLI versi 2 sebagai gantinya.

 AWS CLI Versi 2 tersedia untuk sistem operasi Linux, macOS, dan Windows. Untuk petunjuk tentang cara menginstal AWS CLI pada sistem operasi tersebut, lihat [Menginstal AWS CLI versi 2](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html) di *Panduan AWS CLI Pengguna*.

## Instal plugin Lightsail Control
<a name="install-software-lightsailctl"></a>

Plugin Lightsail Control (lightsailctl) adalah aplikasi ringan yang memungkinkan untuk mengakses gambar kontainer yang Anda AWS CLI buat di mesin lokal Anda. Ini memungkinkan Anda untuk mendorong gambar kontainer ke layanan kontainer Lightsail Anda, sehingga Anda dapat menerapkannya ke layanan Anda.

**Persyaratan sistem**
+ Sistem operasi Windows, macOS, atau Linux dengan support 64-bit.
+ AWS CLI versi 2 harus diinstal pada mesin lokal Anda untuk menggunakan plugin lightsailctl. Untuk informasi selengkapnya, lihat [AWS CLI bagian Instal](#install-software-aws-cli) di awal panduan ini.

**Gunakan versi terbaru dari plugin lightsailctl**

Plugin lightsailctl diperbarui sesekali dengan fungsionalitas yang terus disempurnakan. Setiap kali Anda menggunakan plugin lightsailctl, ia melakukan pemeriksaan untuk mengonfirmasi apakah Anda menggunakan versi terbaru. Jika menemukan bahwa versi baru tersedia, ia akan meminta Anda untuk memperbarui ke versi terbaru untuk memanfaatkan fitur terbaru. Ketika versi terbaru tersedia, Anda harus mengulangi proses instalasi untuk mendapatkan plugin lightsailctl versi terbaru.

Berikut ini tercantum semua rilis plugin lightsailctl dan fitur serta perangkat tambahan yang disertakan dengan masing-masing versi.
+ **v1.0.0 (dirilis 12 November 2020)** - Rilis awal menambahkan fungsionalitas untuk AWS CLI versi 2 untuk mendorong gambar kontainer ke layanan kontainer Lightsail.

### Menginstal plugin lightsailctl pada Windows
<a name="install-lightsailctl-on-windows"></a>

Selesaikan prosedur berikut untuk menginstal plugin lightsailctl di Windows.

1. Unduh executable dari URL berikut, dan simpan ke direktori. `C:\Temp\lightsailctl\`

   ```
   https://s3.us-west-2.amazonaws.com/lightsailctl/latest/windows-amd64/lightsailctl.exe
   ```

1. Pilih tombol **Mulai Windows**, dan kemudian cari `cmd`.

1. Klik kanan pada alikasi **Command Prompt** dalam hasil pencarian, dan pilih **Jalankan sebagai administrator**.  
![\[Jalankan Command Prompt sebagai administrator\]](http://docs.aws.amazon.com/id_id/lightsail/latest/userguide/images/lightsailctl-cmd-run-as-administrator.png)
**catatan**  
Anda mungkin akan melihat prompt yang menanyakan apakah Anda ingin mengizinkan Command Prompt untuk membuat perubahan pada perangkat Anda. Anda harus memilih **Ya** untuk melanjutkan penginstalan.

1. Masukkan perintah berikut untuk menetapkan variabel lingkungan path yang mengarahkan ke direktori `C:\Temp\lightsailctl\` dimana Anda menyimpan plugin lightsailctl.

   ```
   setx PATH "%PATH%;C:\Temp\lightsailctl" /M
   ```

   Anda akan melihat hasil yang mirip dengan contoh berikut ini.  
![\[Respon baris perintah terhadap perintah setx\]](http://docs.aws.amazon.com/id_id/lightsail/latest/userguide/images/lighstailctl-setx-command.png)

`setx`Perintah akan memotong melebihi 1024 karakter. Gunakan prosedur berikut untuk mengatur variabel lingkungan jalur secara manual jika Anda sudah memiliki beberapa variabel yang disetel di PATH Anda. 

1. Pada menu **Start**, buka **Control Panel**.

1. Pilih **Sistem dan Keamanan**, lalu **Sistem**.

1. Pilih **Pengaturan sistem lanjutan**.

1. Pada tab **Advanced** dari kotak dialog **System Properties**, pilih **Environment Variables**.

1. Dalam **Variabel Sistem** kotak dialog **Variabel Lingkungan**, pilih **Path**.

1. Pilih tombol **Edit** yang terletak di bawah kotak **Variabel Sistem**.  
![\[Variabel sistem Windows\]](http://docs.aws.amazon.com/id_id/lightsail/latest/userguide/images/lightsail-windows-system-variables.png)

1. Pilih **Baru**, lalu masukkan jalur berikut: `C:\Temp\lightsailctl\`  
![\[Variabel lingkungan Windows\]](http://docs.aws.amazon.com/id_id/lightsail/latest/userguide/images/lightsail-windows-edit-env-variable.png)

1. Pilih **OK** dalam tiga kotak dialog berturut-turut, dan kemudian tutup kotak dialog **Sistem**.

Anda sekarang siap menggunakan AWS Command Line Interface (AWS CLI) untuk mendorong gambar kontainer ke layanan kontainer Lightsail Anda. Untuk informasi selengkapnya, lihat [Mendorong dan mengelola gambar kontainer](amazon-lightsail-pushing-container-images.md).

### Menginstal plugin lightsailctl pada macOS
<a name="install-lightsailctl-on-macos"></a>

Selesaikan salah satu prosedur berikut untuk mengunduh dan menginstal plugin lightsailctl di macOS.

**Mengunduh dan menginstal Homebrew**

1. Buka jendela terminal.

1. Masukkan perintah berikut untuk mengunduh dan menginstal plugin lightsailctl.

   ```
   brew install aws/tap/lightsailctl
   ```
**catatan**  
Untuk informasi selengkapnya tentang Homebrew, lihat situs web [Homebrew](https://brew.sh/).

**Untuk mengunduh dan menginstal secara manual**

1. Buka jendela terminal.

1. Masukkan perintah berikut untuk mengunduh plugin lightsailctl dan menyalinnya ke folder bin.

   ```
   curl "https://s3.us-west-2.amazonaws.com/lightsailctl/latest/darwin-amd64/lightsailctl" -o "/usr/local/bin/lightsailctl"
   ```

1. Masukkan perintah berikut untuk membuat plugin yang dapat dieksekusi.

   ```
   chmod +x /usr/local/bin/lightsailctl
   ```

1. Masukkan perintah berikut untuk menghapus atribut yang diperluas untuk plugin.

   ```
   xattr -c /usr/local/bin/lightsailctl
   ```

Anda sekarang siap menggunakan gambar kontainer AWS CLI untuk mendorong ke layanan kontainer Lightsail Anda. Untuk informasi selengkapnya, lihat [Mendorong dan mengelola gambar kontainer](amazon-lightsail-pushing-container-images.md).

### Menginstal plugin lightsailctl pada Linux
<a name="install-lightsailctl-on-linux"></a>

Selesaikan prosedur berikut untuk menginstal plugin layanan kontainer Lightsail di Linux.

1. Buka jendela terminal.

1. Masukkan perintah berikut untuk mengunduh plugin lightsailctl.
   + Untuk plugin versi arsitektur AMD 64-bit:

     ```
     curl "https://s3.us-west-2.amazonaws.com/lightsailctl/latest/linux-amd64/lightsailctl" -o "/usr/local/bin/lightsailctl"
     ```
   + Untuk plugin versi arsitektur ARM 64-bit:

     ```
     curl "https://s3.us-west-2.amazonaws.com/lightsailctl/latest/linux-arm64/lightsailctl" -o "/usr/local/bin/lightsailctl"
     ```

1. Masukkan perintah berikut untuk membuat plugin yang dapat dieksekusi.

   ```
   sudo chmod +x /usr/local/bin/lightsailctl
   ```

   Anda sekarang siap menggunakan gambar kontainer AWS CLI untuk mendorong ke layanan kontainer Lightsail Anda. Untuk informasi selengkapnya, lihat [Mendorong dan mengelola gambar kontainer](amazon-lightsail-pushing-container-images.md).

# Berikan akses layanan kontainer Lightsail ke repositori pribadi Amazon ECR
<a name="amazon-lightsail-container-service-ecr-private-repo-access"></a>

Amazon Elastic Container Registry (Amazon ECR) adalah layanan registri gambar kontainer terkelola AWS yang mendukung repositori pribadi dengan izin berbasis sumber daya menggunakan (IAM). AWS Identity and Access Management Anda dapat memberikan layanan penampung Amazon Lightsail Anda akses ke repositori pribadi Amazon ECR Anda. Wilayah AWS Kemudian, Anda dapat menerapkan gambar dari repositori pribadi Anda ke layanan kontainer Anda.

Anda dapat mengelola akses untuk layanan kontainer Lightsail dan repositori pribadi Amazon ECR Anda dengan menggunakan konsol Lightsail atau (). AWS Command Line Interface AWS CLI Namun, kami menyarankan Anda menggunakan konsol Lightsail karena menyederhanakan prosesnya.

Untuk informasi selengkapnya tentang layanan kontainer, lihat [Layanan kontainer](amazon-lightsail-container-services.md). Untuk informasi selengkapnya tentang Amazon ECR, lihat [Panduan Pengguna Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/what-is-ecr.html).

**Daftar Isi**
+ [Izin yang diperlukan](#ecr-private-repos-permissions)
+ [Gunakan konsol Lightsail untuk mengelola akses ke repositori pribadi](#ecr-private-repo-access-lightsail-console)
+ [Gunakan AWS CLI untuk mengelola akses ke repositori pribadi](#ecr-private-repo-access-cli)
  + [Aktifkan atau nonaktifkan peran IAM penarik gambar Amazon ECR](#activate-ecr-puller-role)
  + [Tentukan apakah repositori pribadi Amazon ECR Anda memiliki pernyataan kebijakan](#identify-ecr-repo-policy-statement)
    + [Tambahkan kebijakan ke repositori pribadi yang tidak memiliki pernyataan kebijakan](#ecr-private-repo-add-policy-no-policy)
    + [Menambahkan kebijakan ke repositori pribadi yang memiliki pernyataan kebijakan](#ecr-private-repo-add-policy-existing-policy)

## Izin yang diperlukan
<a name="ecr-private-repos-permissions"></a>

Pengguna yang akan mengelola akses untuk layanan kontainer Lightsail ke repositori pribadi Amazon ECR harus memiliki salah satu kebijakan izin berikut di IAM. Untuk informasi selengkapnya, lihat [Menambahkan dan menghapus izin identitas IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) di *AWS Identity and Access Management Panduan Pengguna*.

**Berikan akses ke repositori pribadi Amazon ECR apa pun**

Kebijakan izin berikut memberikan izin pengguna untuk mengonfigurasi akses ke repositori pribadi Amazon ECR apa pun.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ManageEcrPrivateRepositoriesAccess",
            "Effect": "Allow",
            "Action": [
                "ecr:SetRepositoryPolicy",
                "ecr:DescribeRepositories",
                "ecr:DeleteRepositoryPolicy",
                "ecr:GetRepositoryPolicy"
            ],
            "Resource": "arn:aws:ecr:*:111122223333:repository/*"
        }
    ]
}
```

------

Dalam kebijakan, ganti *AwsAccountId* dengan nomor ID AWS akun Anda.

**Berikan akses ke repositori pribadi Amazon ECR tertentu**

Kebijakan izin berikut memberikan izin kepada pengguna untuk mengonfigurasi akses ke repositori pribadi Amazon ECR tertentu, secara spesifik. Wilayah AWS

Dalam kebijakan, ganti teks contoh berikut dengan teks Anda sendiri:
+ *AwsRegion*— Wilayah AWS Kode (misalnya,`us-east-1`) dari repositori pribadi. Layanan kontainer Lightsail Anda harus Wilayah AWS sama dengan repositori pribadi yang ingin Anda akses.
+ *AwsAccountId*— Nomor ID AWS akun Anda.
+ *RepositoryName*— Nama repositori pribadi yang ingin Anda kelola aksesnya.

Berikut ini adalah contoh kebijakan izin yang diisi dengan nilai contoh.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ManageEcrPrivateRepositoriesAccess",
            "Effect": "Allow",
            "Action": [
                "ecr:SetRepositoryPolicy",
                "ecr:DescribeRepositories",
                "ecr:DeleteRepositoryPolicy",
                "ecr:GetRepositoryPolicy"
            ],
            "Resource": "arn:aws:ecr:us-east-1:111122223333:repository/my-private-repo"
        }
    ]
}
```

------

## Gunakan konsol Lightsail untuk mengelola akses ke repositori pribadi
<a name="ecr-private-repo-access-lightsail-console"></a>

Selesaikan prosedur berikut untuk menggunakan konsol Lightsail untuk mengelola akses layanan kontainer Lightsail ke repositori pribadi Amazon ECR.

1. Masuk ke konsol [Lightsail](https://lightsail.aws.amazon.com/).

1. Di panel navigasi kiri, pilih **Kontainer**.

1. Pilih nama layanan kontainer yang ingin Anda konfigurasikan aksesnya ke repositori pribadi Amazon ECR.  
![\[Layanan kontainer di konsol Lightsail\]](http://docs.aws.amazon.com/id_id/lightsail/latest/userguide/images/container-service-card.png)

1. Pilih tab **Gambar**.  
![\[Tab gambar di halaman manajemen layanan kontainer konsol Lightsail\]](http://docs.aws.amazon.com/id_id/lightsail/latest/userguide/images/container-service-images-tab.png)

1. Pilih **Tambahkan repositori** untuk memberikan akses layanan kontainer Anda ke repositori pribadi Amazon ECR.
**catatan**  
Anda dapat memilih **Hapus** untuk menghapus akses untuk layanan kontainer Anda dari repositori pribadi Amazon ECR yang ditambahkan sebelumnya.  
![\[Bagian repositori pribadi Amazon ECR pada tab Gambar\]](http://docs.aws.amazon.com/id_id/lightsail/latest/userguide/images/container-service-ecr-repos-section.png)

1. **Di dropdown yang muncul, pilih repositori pribadi yang ingin Anda akses, lalu pilih Tambah.**  
![\[Pilihan dropdown repositori pribadi Amazon ECR\]](http://docs.aws.amazon.com/id_id/lightsail/latest/userguide/images/container-service-ecr-repos-selection.png)

   Lightsail membutuhkan beberapa saat untuk mengaktifkan peran IAM penarik gambar Amazon ECR untuk layanan kontainer Anda, yang mencakup Nama Sumber Daya Amazon (ARN) utama. Lightsail kemudian secara otomatis menambahkan ARN utama peran IAM ke kebijakan izin repositori pribadi Amazon ECR yang Anda pilih. Ini memberikan akses layanan kontainer Anda ke repositori pribadi dan gambarnya. Jangan menutup jendela browser sampai modal yang muncul menunjukkan bahwa proses selesai dan Anda dapat memilih **Lanjutkan**.  
![\[Modal mengonfirmasi bahwa izin sedang ditambahkan ke repositori pribadi Amazon ECR\]](http://docs.aws.amazon.com/id_id/lightsail/latest/userguide/images/container-service-ecr-repos-confirmation-modal.png)

1. Pilih **Lanjutkan** saat aktivasi selesai.

   Setelah repositori pribadi Amazon ECR yang dipilih ditambahkan, itu terdaftar di bagian **repositori pribadi Amazon ECR** di halaman. Halaman ini berisi petunjuk tentang cara menyebarkan gambar dari repositori pribadi ke layanan kontainer Lightsail Anda. Untuk menggunakan gambar dari repositori pribadi Anda, tentukan format URI yang ditampilkan di halaman sebagai nilai **Gambar** saat membuat penerapan layanan kontainer Anda. Di URI yang Anda tentukan, ganti contoh *\$1image tag\$1* dengan tag gambar yang ingin Anda gunakan. Untuk informasi selengkapnya, lihat [Membuat dan mengelola penerapan layanan kontainer](amazon-lightsail-container-services-deployments.md).  
![\[Langkah selanjutnya setelah menambahkan repositori pribadi Amazon ECR\]](http://docs.aws.amazon.com/id_id/lightsail/latest/userguide/images/container-service-ecr-repos-next-steps.png)

## Gunakan AWS CLI untuk mengelola akses ke repositori pribadi
<a name="ecr-private-repo-access-cli"></a>

Mengelola akses untuk layanan kontainer Lightsail ke repositori pribadi Amazon ECR menggunakan () memerlukan langkah-langkah AWS Command Line Interface berikut AWS CLI:

**penting**  
Kami menyarankan Anda menggunakan konsol Lightsail untuk mengelola akses untuk layanan kontainer Lightsail ke repositori pribadi Amazon ECR karena menyederhanakan proses. Untuk informasi selengkapnya, lihat [Menggunakan konsol Lightsail untuk mengelola akses ke repositori pribadi sebelumnya](#ecr-private-repo-access-lightsail-console) dalam panduan ini.

1. **Aktifkan atau nonaktifkan peran IAM penarik gambar Amazon ECR — Gunakan perintah AWS CLI `update-container-service` untuk Lightsail untuk mengaktifkan atau menonaktifkan peran** IAM penarik gambar Amazon ECR. Nama Sumber Daya Amazon (ARN) utama dibuat untuk peran IAM penarik gambar Amazon ECR saat Anda mengaktifkannya. Untuk informasi selengkapnya, lihat bagian [Aktifkan atau nonaktifkan peran IAM penarik gambar Amazon ECR](#activate-ecr-puller-role) pada panduan ini.

1. **Tentukan apakah repositori pribadi Amazon ECR Anda memiliki pernyataan kebijakan** — Setelah Anda mengaktifkan peran IAM penarik gambar Amazon ECR, Anda perlu menentukan apakah repositori pribadi Amazon ECR yang ingin Anda akses dengan layanan penampung Anda memiliki pernyataan kebijakan yang ada. Untuk informasi selengkapnya, lihat [Menentukan apakah repositori pribadi Amazon ECR Anda memiliki pernyataan kebijakan](#identify-ecr-repo-policy-statement) nanti dalam panduan ini. 

   Anda menambahkan ARN utama peran IAM ke repositori Anda menggunakan salah satu metode berikut, tergantung pada apakah repositori Anda memiliki pernyataan kebijakan yang ada:

   1. **Tambahkan kebijakan ke repositori pribadi yang tidak memiliki pernyataan kebijakan** — Gunakan AWS CLI `set-repository-policy` perintah Amazon ECR untuk menambahkan ARN utama peran penarik gambar Amazon ECR untuk layanan container Anda ke repositori pribadi yang memiliki kebijakan yang ada. Untuk informasi selengkapnya, lihat [Menambahkan kebijakan ke repositori pribadi yang tidak memiliki pernyataan kebijakan](#ecr-private-repo-add-policy-no-policy) nanti dalam panduan ini.

   1. **Tambahkan kebijakan ke repositori pribadi yang memiliki pernyataan kebijakan** — Gunakan AWS CLI `set-repository-policy` perintah Amazon ECR untuk menambahkan peran penarik gambar Amazon ECR untuk layanan penampung Anda ke repositori pribadi yang tidak memiliki kebijakan yang ada. Untuk informasi selengkapnya, lihat [Menambahkan kebijakan ke repositori pribadi yang memiliki pernyataan kebijakan](#ecr-private-repo-add-policy-existing-policy) nanti dalam panduan ini.

### Aktifkan atau nonaktifkan peran IAM penarik gambar Amazon ECR
<a name="activate-ecr-puller-role"></a>

Selesaikan prosedur berikut untuk mengaktifkan atau menonaktifkan peran IAM penarik gambar Amazon ECR untuk layanan kontainer Lightsail Anda. Anda dapat mengaktifkan atau menonaktifkan peran IAM penarik gambar Amazon ECR menggunakan perintah AWS CLI `update-container-service` untuk Lightsail. Untuk informasi selengkapnya, lihat [update-container-service](https://docs.aws.amazon.com/cli/latest/reference/lightsail/update-container-service.html) dalam *AWS CLI Referensi Perintah*.

**catatan**  
Anda harus menginstal AWS CLI dan mengkonfigurasinya untuk Lightsail sebelum Anda dapat melanjutkan prosedur ini. Untuk informasi selengkapnya, lihat [Mengkonfigurasi AWS CLI untuk bekerja dengan Lightsail](lightsail-how-to-set-up-and-configure-aws-cli.md).

1. Buka jendela Command Prompt atau Terminal.

1. Masukkan perintah berikut untuk memperbarui layanan kontainer dan mengaktifkan atau menonaktifkan peran IAM penarik gambar Amazon ECR.

   ```
   aws lightsail update-container-service --service-name ContainerServiceName --private-registry-access ecrImagePullerRole={isActive=RoleActivationState} --region AwsRegionCode
   ```

   Dalam perintah tersebut, ganti teks contoh berikut dengan teks Anda sendiri:
   + *ContainerServiceName*— Nama layanan kontainer untuk mengaktifkan atau menonaktifkan peran IAM penarik gambar Amazon ECR.
   + *RoleActivationState*— Status aktivasi peran IAM penarik gambar Amazon ECR. Tentukan `true` untuk mengaktifkan peran, atau `false` untuk menonaktifkannya.
   + *AwsRegionCode*— Wilayah AWS Kode layanan kontainer (misalnya,`us-east-1`).

   Contoh:
   + Untuk mengaktifkan peran IAM penarik gambar Amazon ECR:

     ```
     aws lightsail update-container-service --service-name my-container-service --private-registry-access ecrImagePullerRole={isActive=true} --region us-east-1
     ```
   + Untuk menonaktifkan peran IAM penarik gambar Amazon ECR:

     ```
     aws lightsail update-container-service --service-name my-container-service --private-registry-access ecrImagePullerRole={isActive=false} --region us-east-1
     ```

1. Jika Anda:
   + **Mengaktifkan peran penarik gambar Amazon ECR** - Tunggu setidaknya 30 detik setelah mendapatkan respons sebelumnya. Kemudian, lanjutkan ke langkah berikutnya untuk mendapatkan ARN utama dari peran IAM penarik gambar Amazon ECR untuk layanan kontainer Anda.
   + **Menonaktifkan peran penarik gambar Amazon ECR — Jika sebelumnya Anda menambahkan ARN utama peran** IAM penarik gambar Amazon ECR ke kebijakan izin repositori pribadi Amazon ECR Anda, Anda harus menghapus kebijakan izin tersebut dari repositori Anda. Untuk informasi selengkapnya, lihat [Menghapus pernyataan kebijakan repositori pribadi di Panduan](https://docs.aws.amazon.com/AmazonECR/latest/userguide/delete-repository-policy.html) Pengguna *Amazon ECR*.

1. Masukkan perintah berikut untuk mendapatkan ARN utama peran IAM penarik gambar Amazon ECR untuk layanan kontainer Anda.

   ```
   aws lightsail get-container-services --service-name ContainerServiceName --region AwsRegionCode
   ```

   Dalam perintah tersebut, ganti teks contoh berikut dengan teks Anda sendiri:
   + *ContainerServiceName*— Nama layanan kontainer Anda untuk mendapatkan penarik gambar Amazon ECR IAM role principal ARN.
   + *AwsRegionCode*— Wilayah AWS Kode layanan kontainer (misalnya,`us-east-1`).

   Contoh:

   ```
   aws lightsail get-container-services --service-name my-container-service --region us-east-1
   ```

   Cari penarik gambar ECR IAM peran utama ARN dalam tanggapannya. Jika sebuah peran terdaftar, salin atau tuliskan. Anda akan membutuhkannya untuk bagian selanjutnya dari panduan ini. Selanjutnya, Anda perlu menentukan apakah ada pernyataan kebijakan yang ada di repositori pribadi Amazon ECR yang ingin Anda akses dengan layanan penampung Anda. Lanjutkan ke [Tentukan apakah repositori pribadi Amazon ECR Anda memiliki bagian pernyataan kebijakan](#identify-ecr-repo-policy-statement) dari panduan ini.

### Tentukan apakah repositori pribadi Amazon ECR Anda memiliki pernyataan kebijakan
<a name="identify-ecr-repo-policy-statement"></a>

Gunakan prosedur berikut untuk menentukan apakah repositori pribadi Amazon ECR Anda memiliki pernyataan kebijakan. Anda dapat menggunakan AWS CLI `get-repository-policy` perintah untuk Amazon ECR. Untuk informasi selengkapnya, lihat [update-container-service](https://docs.aws.amazon.com/cli/latest/reference/ecr/get-repository-policy.html) dalam *AWS CLI Referensi Perintah*.

**catatan**  
Anda harus menginstal AWS CLI dan mengonfigurasinya untuk Amazon ECR sebelum Anda dapat melanjutkan prosedur ini. Untuk informasi selengkapnya, lihat [Menyiapkan dengan Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/get-set-up-for-amazon-ecr.html) di *Panduan Pengguna Amazon ECR*.

1. Buka jendela Command Prompt atau Terminal.

1. Masukkan perintah berikut untuk mendapatkan pernyataan kebijakan untuk repositori pribadi tertentu.

   ```
   aws ecr get-repository-policy --repository-name RepositoryName --region AwsRegionCode
   ```

   Dalam perintah tersebut, ganti teks contoh berikut dengan teks Anda sendiri:
   + *RepositoryName*— Nama repositori pribadi yang ingin Anda konfigurasi akses untuk layanan kontainer Lightsail.
   + *AwsRegionCode*— Wilayah AWS Kode repositori pribadi (misalnya,`us-east-1`).

   Contoh:

   ```
   aws ecr get-repository-policy --repository-name my-private-repo --region us-east-1
   ```

   Anda akan melihat salah satu tanggapan berikut:
   + **RepositoryPolicyNotFoundException**— Repositori pribadi Anda tidak memiliki pernyataan kebijakan. Jika repositori Anda tidak memiliki pernyataan kebijakan, ikuti langkah-langkah di bagian [Tambahkan kebijakan ke repositori pribadi yang tidak memiliki pernyataan kebijakan](#ecr-private-repo-add-policy-no-policy) nanti dalam panduan ini.  
![\[Tanggapan terhadap get-repository-policy perintah untuk repositori pribadi yang tidak memiliki pernyataan kebijakan\]](http://docs.aws.amazon.com/id_id/lightsail/latest/userguide/images/ecr-no-policy-statement.png)
   + **Kebijakan repositori ditemukan** - Repositori pribadi Anda memiliki pernyataan kebijakan, dan ditampilkan dalam tanggapan permintaan Anda. Jika repositori Anda memiliki pernyataan kebijakan, salin kebijakan yang ada, lalu ikuti langkah-langkah di bagian [Tambahkan kebijakan ke repositori pribadi yang memiliki pernyataan kebijakan](#ecr-private-repo-add-policy-existing-policy) nanti di panduan ini.  
![\[Tanggapan terhadap get-repository-policy perintah untuk repositori pribadi yang memiliki pernyataan kebijakan\]](http://docs.aws.amazon.com/id_id/lightsail/latest/userguide/images/ecr-existing-policy-statement.png)

### Tambahkan kebijakan ke repositori pribadi yang tidak memiliki pernyataan kebijakan
<a name="ecr-private-repo-add-policy-no-policy"></a>

Selesaikan prosedur berikut untuk menambahkan kebijakan ke repositori pribadi Amazon ECR yang tidak memiliki pernyataan kebijakan. Kebijakan yang Anda tambahkan harus menyertakan ARN utama peran IAM penarik gambar Amazon ECR dari layanan kontainer Lightsail Anda. Ini memberikan akses ke layanan kontainer Anda untuk menyebarkan gambar dari repositori pribadi.

**penting**  
Lightsail secara otomatis menambahkan peran penarik gambar Amazon ECR ke repositori pribadi Amazon ECR Anda saat Anda menggunakan konsol Lightsail untuk mengonfigurasi akses. Dalam hal ini, Anda tidak perlu menambahkan peran penarik gambar Amazon ECR secara manual ke repositori pribadi Anda menggunakan prosedur di bagian ini. Untuk informasi selengkapnya, lihat [Menggunakan konsol Lightsail untuk mengelola akses ke repositori pribadi sebelumnya](#ecr-private-repo-access-lightsail-console) dalam panduan ini.

Anda dapat menambahkan kebijakan ke repositori pribadi menggunakan file. AWS CLI Anda melakukan ini dengan membuat file JSON yang berisi kebijakan, dan kemudian mereferensikan file tersebut dengan `set-repository-policy` perintah untuk Amazon ECR. Untuk informasi selengkapnya, lihat [set-repository-policy](https://docs.aws.amazon.com/cli/latest/reference/ecr/set-repository-policy.html) dalam *AWS CLI Referensi Perintah*.

**catatan**  
Anda harus menginstal AWS CLI dan mengonfigurasinya untuk Amazon ECR sebelum melanjutkan prosedur ini. Untuk informasi selengkapnya, lihat [Menyiapkan dengan Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/get-set-up-for-amazon-ecr.html) di *Panduan Pengguna Amazon ECR*.

1. Buka editor teks, dan tempel pernyataan kebijakan berikut ke dalam file teks baru.

------
#### [ JSON ]

****  

   ```
   { 
     "Version":"2012-10-17",		 	 	 
     "Statement": [
     {
         "Sid": "AllowLightsailPull-ecr-private-repo-demo",
         "Effect": "Allow",
         "Principal": {
           "AWS": "IamRolePrincipalArn"
         },
         "Action": [
           "ecr:BatchGetImage",
           "ecr:GetDownloadUrlForLayer"
         ]
       }
     ]
   }
   ```

------

   Dalam teks, ganti *IamRolePrincipalArn* dengan ARN utama peran IAM penarik gambar Amazon ECR dari layanan kontainer Anda yang Anda dapatkan sebelumnya dalam panduan ini.

1. Simpan file `ecr-policy.json` ke lokasi yang dapat diakses di komputer Anda (misalnya, `C:\Temp\ecr-policy.json` di Windows atau `/tmp/ecr-policy.json` di macOS atau Linux).

1. Tuliskan lokasi path file dari `ecr-policy.json` file yang dibuat. Anda akan menentukannya dalam perintah nanti dalam prosedur ini.

1. Buka jendela Command Prompt atau Terminal.

1. Masukkan perintah berikut untuk menyetel pernyataan kebijakan untuk repositori pribadi yang ingin Anda akses dengan layanan kontainer Anda.

   ```
   aws ecr set-repository-policy --repository-name RepositoryName --policy-text file://path/to/ecr-policy.json --region AwsRegionCode
   ```

   Dalam perintah tersebut, ganti teks contoh berikut dengan teks Anda sendiri:
   + *RepositoryName*— Nama repositori pribadi yang ingin Anda tambahkan kebijakan.
   + *path/to/*— Jalur ke `ecr-policy.json` file di komputer Anda yang Anda buat sebelumnya dalam panduan ini.
   + *AwsRegionCode*— Wilayah AWS Kode repositori pribadi (misalnya,`us-east-1`).

   Contoh:
   + Di Windows:

     ```
     aws ecr set-repository-policy --repository-name my-private-repo --policy-text file://C:\Temp\ecr-policy.json --region us-east-1
     ```
   + Di macOS atau Linux:

     ```
     aws ecr set-repository-policy --repository-name my-private-repo --policy-text file:///tmp/ecr-policy.json --region us-east-1
     ```

   Layanan kontainer Anda sekarang dapat mengakses repositori pribadi Anda dan gambarnya. Untuk menggunakan gambar dari repositori Anda, tentukan URI berikut sebagai nilai **Image** untuk penerapan layanan kontainer Anda. Di URI, ganti contoh *tag* dengan tag gambar yang ingin Anda gunakan. Untuk informasi selengkapnya, lihat [Membuat dan mengelola penerapan layanan kontainer](amazon-lightsail-container-services-deployments.md).

   ```
   AwsAccountId.dkr.ecr.AwsRegionCode.amazonaws.com/RepositoryName:ImageTag
   ```

   Di URI, ganti contoh teks berikut dengan teks Anda sendiri:
   + *AwsAccountId*— Nomor ID AWS akun Anda.
   + *AwsRegionCode*— Wilayah AWS Kode repositori pribadi (misalnya,`us-east-1`).
   + *RepositoryName*— Nama repositori pribadi untuk menyebarkan gambar kontainer.
   + *ImageTag*— Tag gambar kontainer dari repositori pribadi untuk diterapkan pada layanan kontainer Anda.

   Contoh:

   ```
   111122223333.dkr.ecr.us-east-1.amazonaws.com/my-private-repo:myappimage
   ```

### Menambahkan kebijakan ke repositori pribadi yang memiliki pernyataan kebijakan
<a name="ecr-private-repo-add-policy-existing-policy"></a>

Selesaikan prosedur berikut untuk menambahkan kebijakan ke repositori pribadi Amazon ECR yang memiliki pernyataan kebijakan. Kebijakan yang Anda tambahkan harus menyertakan kebijakan yang ada dan kebijakan baru yang berisi ARN utama peran IAM penarik gambar Amazon ECR dari layanan kontainer Lightsail Anda. Ini mempertahankan izin yang ada di repositori pribadi Anda sementara juga memberikan akses untuk layanan kontainer Anda untuk menyebarkan gambar dari repositori pribadi.

**penting**  
Lightsail secara otomatis menambahkan peran penarik gambar Amazon ECR ke repositori pribadi Amazon ECR Anda saat Anda menggunakan konsol Lightsail untuk mengonfigurasi akses. Dalam hal ini, Anda tidak perlu menambahkan peran penarik gambar Amazon ECR secara manual ke repositori pribadi Anda menggunakan prosedur di bagian ini. Untuk informasi selengkapnya, lihat [Menggunakan konsol Lightsail untuk mengelola akses ke repositori pribadi sebelumnya](#ecr-private-repo-access-lightsail-console) dalam panduan ini.

Anda dapat menambahkan kebijakan ke repositori pribadi menggunakan file. AWS CLI Anda melakukannya dengan membuat file JSON yang berisi kebijakan yang ada dan kebijakan baru. Kemudian, rujuk file itu dengan `set-repository-policy` perintah untuk Amazon ECR. Untuk informasi selengkapnya, lihat [set-repository-policy](https://docs.aws.amazon.com/cli/latest/reference/ecr/set-repository-policy.html) dalam *AWS CLI Referensi Perintah*.

**catatan**  
Anda harus menginstal AWS CLI dan mengonfigurasinya untuk Amazon ECR sebelum Anda dapat melanjutkan prosedur ini. Untuk informasi selengkapnya, lihat [Menyiapkan dengan Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/get-set-up-for-amazon-ecr.html) di *Panduan Pengguna Amazon ECR*.

1. Buka jendela Command Prompt atau Terminal.

1. Masukkan perintah berikut untuk mendapatkan pernyataan kebijakan untuk repositori pribadi tertentu.

   ```
   aws ecr get-repository-policy --repository-name RepositoryName --region AwsRegionCode
   ```

   Dalam perintah tersebut, ganti teks contoh berikut dengan teks Anda sendiri:
   + *RepositoryName*— Nama repositori pribadi yang ingin Anda konfigurasi akses untuk layanan kontainer Lightsail.
   + *AwsRegionCode*— Wilayah AWS Kode repositori pribadi (misalnya,`us-east-1`).

   Contoh:

   ```
   aws ecr get-repository-policy --repository-name my-private-repo --region us-east-1
   ```

1. Sebagai tanggapan, salin kebijakan yang ada dan lanjutkan ke langkah berikutnya.

   Anda harus menyalin hanya konten `policyText` yang muncul di antara tanda kutip ganda, seperti yang disorot dalam contoh berikut.  
![\[Tanggapan terhadap get-repository-policy perintah untuk repositori pribadi yang tidak memiliki pernyataan kebijakan\]](http://docs.aws.amazon.com/id_id/lightsail/latest/userguide/images/ecr-existing-policy-copy-statement.png)

1. Buka editor teks, dan tempel kebijakan yang ada dari repositori pribadi yang Anda salin di langkah sebelumnya.

   Hasilnya akan terlihat seperti contoh berikut ini.  
![\[Contoh file JSON pernyataan kebijakan\]](http://docs.aws.amazon.com/id_id/lightsail/latest/userguide/images/ecr-existing-policy-statement-json.png)

1. Dalam teks yang Anda tempel, ganti `\n` dengan jeda baris dan hapus `\` sisanya.

   Hasilnya akan terlihat seperti contoh berikut ini.  
![\[Contoh berkas JSON pernyataan kebijakan yang diedit\]](http://docs.aws.amazon.com/id_id/lightsail/latest/userguide/images/ecr-existing-policy-statement-json-edited.png)

1. Rekatkan pernyataan kebijakan berikut di akhir file teks.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "AllowLightsailPull-ecr-private-repo-demo",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "IamRolePrincipalArn"
               },
               "Action": [
                   "ecr:BatchGetImage",
                   "ecr:GetDownloadUrlForLayer"
               ]
           }
       ]
   }
   ```

------

1. Dalam teks, ganti *IamRolePrincipalArn* dengan ARN utama peran IAM penarik gambar Amazon ECR dari layanan kontainer Anda yang Anda dapatkan sebelumnya dalam panduan ini.

   Hasilnya akan terlihat seperti contoh berikut ini.  
![\[Contoh file JSON pernyataan kebijakan lengkap\]](http://docs.aws.amazon.com/id_id/lightsail/latest/userguide/images/ecr-existing-policy-statement-json-completed.png)

1. Simpan file `ecr-policy.json` ke lokasi yang dapat diakses di komputer Anda (misalnya, `C:\Temp\ecr-policy.json` di Windows atau `/tmp/ecr-policy.json` di macOS atau Linux).

1. Tuliskan lokasi path file `ecr-policy.json` file. Anda akan menentukannya dalam perintah nanti dalam prosedur ini.

1. Buka jendela Command Prompt atau Terminal.

1. Masukkan perintah berikut untuk menyetel pernyataan kebijakan untuk repositori pribadi yang ingin Anda akses dengan layanan kontainer Anda.

   ```
   aws ecr set-repository-policy --repository-name RepositoryName --policy-text file://path/to/ecr-policy.json --region AwsRegionCode
   ```

   Dalam perintah tersebut, ganti teks contoh berikut dengan teks Anda sendiri:
   + *RepositoryName*— Nama repositori pribadi yang ingin Anda tambahkan kebijakan.
   + *path/to/*— Jalur ke `ecr-policy.json` file di komputer Anda yang Anda buat sebelumnya dalam panduan ini.
   + *AwsRegionCode*— Wilayah AWS Kode repositori pribadi (misalnya,`us-east-1`).

   Contoh:
   + Di Windows:

     ```
     aws ecr set-repository-policy --repository-name my-private-repo --policy-text file://C:\Temp\ecr-policy.json --region us-east-1
     ```
   + Di macOS atau Linux:

     ```
     aws ecr set-repository-policy --repository-name my-private-repo --policy-text file:///tmp/ecr-policy.json --region us-east-1
     ```

   Anda akan melihat respons yang mirip dengan contoh berikut.  
![\[Tanggapan terhadap set-repository-policy perintah\]](http://docs.aws.amazon.com/id_id/lightsail/latest/userguide/images/ecr-set-policy-statement-response.png)

   Jika Anda menjalankan `get-repository-policy` perintah lagi, Anda akan melihat pernyataan kebijakan tambahan baru di repositori pribadi Anda. Layanan kontainer Anda sekarang dapat mengakses repositori pribadi Anda dan gambarnya. Untuk menggunakan gambar dari repositori Anda, tentukan URI berikut sebagai nilai **Image** untuk penerapan layanan kontainer Anda. Di URI, ganti contoh *tag* dengan tag gambar yang ingin Anda gunakan. Untuk informasi selengkapnya, lihat [Membuat dan mengelola penerapan layanan kontainer](amazon-lightsail-container-services-deployments.md).

   ```
   AwsAccountId.dkr.ecr.AwsRegionCode.amazonaws.com/RepositoryName:ImageTag
   ```

   Di URI, ganti contoh teks berikut dengan teks Anda sendiri:
   + *AwsAccountId*— Nomor ID AWS akun Anda.
   + *AwsRegionCode*— Wilayah AWS Kode repositori pribadi (misalnya,`us-east-1`).
   + *RepositoryName*— Nama repositori pribadi untuk menyebarkan gambar kontainer.
   + *ImageTag*— Tag gambar kontainer dari repositori pribadi untuk diterapkan pada layanan kontainer Anda.

   Contoh:

   ```
   111122223333.dkr.ecr.us-east-1.amazonaws.com/my-private-repo:myappimage
   ```