

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

# Membangun wadah Docker di dalam CloudShell dan mendorongnya ke repositori Amazon ECR
<a name="tutorial-docker-cli"></a>

Tutorial ini menunjukkan cara mendefinisikan dan membangun wadah Docker AWS CloudShell dan mendorongnya ke repositori Amazon ECR.

## Prasyarat
<a name="prerequisites-docker-cli"></a>
+ Anda harus memiliki izin yang diperlukan untuk membuat dan mendorong ke repositori Amazon ECR. *Untuk informasi selengkapnya tentang repositori dengan Amazon ECR, lihat [repositori pribadi Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/Repositories.html) di Panduan Pengguna Amazon ECR.* Untuk informasi selengkapnya tentang izin yang diperlukan untuk mendorong gambar dengan Amazon ECR, lihat [Izin IAM yang diperlukan untuk mendorong gambar di Panduan Pengguna](https://docs.aws.amazon.com/AmazonECR/latest/userguide/image-push.html#image-push-iam) *Amazon* ECR.

## Prosedur Tutorial
<a name="tutorial-docker-cli-steps"></a>

Tutorial berikut menguraikan cara menggunakan CloudShell antarmuka untuk membangun wadah Docker dan mendorongnya ke repositori Amazon ECR.

1. Buat folder baru di direktori home Anda.

   ```
   mkdir ~/docker-cli-tutorial
   ```

1. Arahkan ke folder yang Anda buat.

   ```
   cd ~/docker-cli-tutorial
   ```

1. Buat Dockerfile kosong.

   ```
   touch Dockerfile
   ```

1. Menggunakan editor teks, misalnya`nano Dockerfile`, buka file dan tempel konten berikut ke dalamnya.

   ```
   # Dockerfile
   
   # Base this container on the latest Amazon Linux version
   FROM public.ecr.aws/amazonlinux/amazonlinux:latest
   
   # Install the cowsay binary
   RUN dnf install --assumeyes cowsay
   
   # Default entrypoint binary
   ENTRYPOINT [ "cowsay" ]
   
   # Default argument for the cowsay entrypoint
   CMD [ "Hello, World!" ]
   ```

1. Dockerfile sekarang siap dibangun. Bangun wadah dengan menjalankan`docker build`. Tandai wadah dengan easy-to-type nama untuk digunakan dalam perintah future.

   ```
   docker build --tag test-container .
   ```

   Pastikan untuk memasukkan trailing period (`.`).  
![\[Gambar perintah docker build berjalan di dalamnya. AWS CloudShell\]](http://docs.aws.amazon.com/id_id/cloudshell/latest/userguide/images/docker-cli-tutorial%20-%201-docker-build.png)

1. Anda sekarang dapat menguji wadah untuk memeriksa apakah penampung berjalan dengan benar AWS CloudShell.

   ```
   docker container run test-container
   ```  
![\[Gambar perintah docker container run di dalamnya AWS CloudShell\]](http://docs.aws.amazon.com/id_id/cloudshell/latest/userguide/images/docker-cli-tutorial%20-%202-docker-run.png)

1. Sekarang setelah Anda memiliki wadah Docker yang berfungsi, Anda perlu mendorongnya ke repositori Amazon ECR. Jika Anda memiliki repositori Amazon ECR yang ada, Anda dapat melewati langkah ini. 

   Jalankan perintah berikut untuk membuat repositori Amazon ECR untuk tutorial ini.

   ```
   ECR_REPO_NAME=docker-tutorial-repo
   aws ecr create-repository --repository-name ${ECR_REPO_NAME}
   ```  
![\[Gambar perintah yang digunakan untuk membuat repositori Amazon ECR di dalamnya AWS CloudShell\]](http://docs.aws.amazon.com/id_id/cloudshell/latest/userguide/images/docker-cli-tutorial%20-%203-ecr-create-repo%20(redacted).png)

1. Setelah Anda membuat repositori Amazon ECR, Anda dapat mendorong wadah Docker ke sana.

   Jalankan perintah berikut untuk mendapatkan kredensyal masuk Amazon ECR untuk Docker.

   ```
   AWS_ACCOUNT_ID=$(aws sts get-caller-identity --query "Account" --output text)
   ECR_URL=${AWS_ACCOUNT_ID}.dkr.ecr.${AWS_REGION}.amazonaws.com
   aws ecr get-login-password | docker login --username AWS --password-stdin ${ECR_URL}
   ```  
![\[Gambar perintah yang digunakan untuk mendapatkan kredensyal masuk Amazon ECR untuk Docker.\]](http://docs.aws.amazon.com/id_id/cloudshell/latest/userguide/images/docker-cli-tutorial%20-%204-docker-login.png)
**catatan**  
Jika variabel **AWS\$1REGION** lingkungan tidak diatur dalam Anda CloudShell atau Anda ingin berinteraksi dengan sumber daya di lain Wilayah AWS, jalankan perintah berikut:  

   ```
   AWS_REGION=<your-desired-region>
   ```

1. Tandai gambar dengan repositori Amazon ECR target dan kemudian dorong ke repositori itu.

   ```
   docker tag test-container ${ECR_URL}/${ECR_REPO_NAME}
   docker push ${ECR_URL}/${ECR_REPO_NAME}
   ```  
![\[Gambar perintah yang digunakan untuk menandai gambar dengan repositori Amazon ECR target.\]](http://docs.aws.amazon.com/id_id/cloudshell/latest/userguide/images/docker-cli-tutorial%20-%205-docker-push%20(redacted).png)

   Jika Anda mengalami kesalahan atau mengalami masalah saat mencoba menyelesaikan tutorial ini, lihat bagian [Pemecahan Masalah](https://docs.aws.amazon.com/cloudshell/latest/userguide/troubleshooting.html) dari panduan ini untuk mendapatkan bantuan.

## Bersihkan
<a name="clean-up-docker-cli"></a>

Anda sekarang telah berhasil menerapkan wadah Docker Anda ke repositori Amazon ECR Anda. Untuk menghapus file yang Anda buat dalam tutorial ini dari AWS CloudShell lingkungan Anda, jalankan perintah berikut.
+ 

  ```
  cd ~
  rm -rf ~/docker-cli-tutorial
  ```
+ Hapus repositori Amazon ECR.

  ```
  aws ecr delete-repository --force --repository-name ${ECR_REPO_NAME}
  ```