

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

# Membangun, menandai, dan mendorong gambar kontainer
<a name="containers-build-push"></a>

Bangun gambar untuk arsitektur prosesor yang digunakan oleh armada Anda. Armada yang dikelola layanan Linux dengan add-on Docker perangkat lunak menggunakan platform. `linux/amd64` Berikan setiap versi gambar tag yang mengidentifikasi isinya, seperti versi aplikasi atau revisi sumber.

## Prasyarat
<a name="containers-build-prerequisites"></a>

Instal Docker dan AWS CLI di workstation Anda. Buat repositori pribadi Amazon ECR dan konfigurasikan AWS kredensyal Anda dengan izin untuk mendorong gambar ke repositori itu.

## Bangun dan dorong gambar
<a name="containers-build-procedure"></a>

**Untuk membangun dan mendorong gambar kontainer**

1. Tetapkan nilai untuk AWS akun, Wilayah, repositori, dan tag gambar Anda.

   ```
   REGION={{us-west-2}}
   ACCOUNT_ID={{123456789012}}
   REPOSITORY={{portable-job}}
   IMAGE_TAG={{1.0.0}}
   REGISTRY="${ACCOUNT_ID}.dkr.ecr.${REGION}.amazonaws.com"
   IMAGE_URI="${REGISTRY}/${REPOSITORY}:${IMAGE_TAG}"
   ```

1. Dari direktori yang berisi Dockerfile Anda, buat gambar.

   ```
   docker build --platform linux/amd64 \
       --tag "${REPOSITORY}:${IMAGE_TAG}" \
       .
   ```

1. Jalankan perintah khusus aplikasi untuk menguji gambar secara lokal.

   ```
   docker run --rm "${REPOSITORY}:${IMAGE_TAG}" {{test-command}}
   ```

1. Otentikasi Docker ke registri ECR Amazon pribadi Anda.

   ```
   aws ecr get-login-password --region "${REGION}" | \
       docker login --username AWS --password-stdin "${REGISTRY}"
   ```

1. Terapkan tag gambar Amazon ECR dan dorong gambar.

   ```
   docker tag "${REPOSITORY}:${IMAGE_TAG}" "${IMAGE_URI}"
   docker push "${IMAGE_URI}"
   ```

1. Ambil intisari gambar dan rekam dengan keluaran build Anda.

   ```
   aws ecr describe-images \
       --region "${REGION}" \
       --repository-name "${REPOSITORY}" \
       --image-ids imageTag="${IMAGE_TAG}" \
       --query 'imageDetails[0].imageDigest' \
       --output text
   ```

Gunakan tag versi tetap atau intisari gambar untuk pekerjaan berulang. Tag yang bisa berubah seperti `latest` dapat diselesaikan ke konten gambar yang berbeda di seluruh sesi.