Taufik Mulyana
Taufik Mulyana
Linux System Administrator, Interested in Linux, Cloud, Containers
December 30, 2019 3 min read

Cara Push Docker Image ke Amazon ECR

amazon ecr

Cara Push Docker Image ke Amazon ECR ( Elastic Container Registry ), singkatnya container registry merupakan tempat penyimpanan images, ketika kita melakukan deploy atau menjalankan container, container runtime akan melakukan pull ke registry untuk mengambil image yang diperlukan, image akan diunduh dari registry dan disimpan di lokal, Docker sendiri telah memiliki container registry sendiri yang dapat diakses di hub.docker.com.

Jika anda menggunakan layanan dari Amazon Web Services anda bisa juga menggunakan layanan container registry milik AWS yang bernama ECR atau Elastic Container Registry, dengan menggunakan Amazon ECR akan lebih memudahkan kita dalam mengelola images, dan lebih bagusnya lagi Amazon ECR telah terintegrasi dengan Amazon ECS.

untuk melakukan push image ke ECR silahkan ikuti langkah-langkah berikut

Membuat Repository ECR

silahkan masuk ke Amazon Web Console, klik services lalu cari ECR.

pada Repository Name silakan isi dengan nama repository yang akan dibuat, saya mengaktifkan Scan on push agar saat image dipush akan secara otomatis dipindai terlebih dahulu

jika sudah klik tombol Create Repository

membuat repositori di aws ecr
Create Repository

Repository telah berhasil dibuat, pada bagian URL akan ada URL yang nantinya akan kita gunakan untuk target saat melakukan push image

cara push image ke amazon ecr
List Repository

Melakukan Build Image

Sebagai contoh disini saya akan membuat sebuah image dari alpine linux yang menjalankan proses beanstalkd, dengan Dockerfile seperti berikut

build image dengan perintah berikut, untuk nama image bisa anda sesuaikan, pastikan saat menjalankan perintah dibawah berada pada direktori yang sama dengan berkas Dockerfile

$ docker build -t nothinux-id-app .

Melakukan Push Image

Setelah proses build telah selesai, kita akan melakukan tagging agar image bisa dipush ke Amazon ECR, sesuaikan nama image yang telah dibuild tadi dan bagian akhir diisi dengan url image di ECR

$ docker tag nothinux-id-app:latest xxxxxxxx.dkr.ecr.ap-southeast-1.amazonaws.com/nothinux-id-app:latest

sebelum kita push, kita perlu login terlebih dahulu untuk melakukan otentikasi, otentikasi dilakukan dengan menggunakan aws-cli, pastikan anda telah mengkonfigurasi aws-cli di environtment anda

$ $(aws ecr get-login --no-include-email --region ap-southeast-1)

terakhir kita push dengan perintah berikut

$ docker push xxxxxxxx.dkr.ecr.ap-southeast-1.amazonaws.com/nothinux-id-app:latest

selesai, image telah berhasil dipush

Melakukan Pull Image

untuk melakukan pull image tinggal menjalankan perintah seperti berikut, tapi sebelumnya pastikan anda telah login dengan aws ecr get-login

$ docker pull xxxxxxxx.dkr.ecr.ap-southeast-1.amazonaws.com/nothinux-id-app:latest