Penggunaan container service pada saat proses deployment untuk kebutuhan production menjadi ketergantungan yang lumayan tinggi. Sejalan dengan kepentingan tersebut, container registry menjadi gerbang awal sebelum menjalankan sebuah container. Dia digunakan untuk menyimpan image yang sudah di-compile, selanjutnya dapat digunakan untuk dijalankan menjadi container service di server production.
Umumnya penyedia layanan container registry tidak sulit ditemukan, salah satunya di situs docker official. Namun di sana memiliki keterbatasan pada akses untuk repository yang berbentuk private, yaitu 1 kuota saja. Sedangkan pada repository yang bersifat public tidak ada keterbatasan kuota. Ketentuan tersebut berlaku bagi pengguna yang tidak berbayar atau gratis. Sehingga dibagikan di sini alternatif lain untuk mendapatkan repository yang lebih leluasa, baik public maupun private. Yaitu menggunakan GitLab container registry, yang memiliki bentuk akses sesuai dengan repository yang telah dibuat. Jika repository berupa private, maka akses pada container registry juga berbentuk private. Begitu pula sebaliknya.
Persiapan & Langkah-langkah
Untuk memulai membuat container registry di GitLab dapat dipersiapkan sebuah aplikasi yang ingin dilakukan deployment ke server. Pada kasus ini diberikan contoh sederhana membuat REST API
menggunakan nodejs dengan framework nestjs. Agar lebih singkat aplikasi yang digunakan dilakukan generate dari nestjs CLI. Berikut dijelaskan langkah-langkah pembuatan aplikasi hingga ke proses akhir menjadi container registry di GitLab repository.
- Melakukan generate untuk membuat aplikasi
REST API
via terminal. (Pada kasus ini digunakan nodejs versi 18) Ketik dan jalankan untuk melakukan instalasinestjs
pada library global lokal.
npm i -g @nestjs/cli
- Membuat direktori aplikasi dengan menjalankan perintah berikut.
nest new <project-name>
- Membuat Dockerfile yang selanjutnya akan menjadi
image
untuk diteruskan ke container registry. Cuplikannya seperti berikut:
- Membuat repository di GitLab untuk menyimpan
source code
aplikasi yang telah dibuat, sekaligus menjadi repository untuk container registry.
- Melakukan push/upload ke GitLab repository.
- Melakukan build/compile aplikasi berdasarkan
Dockerfile
yang telah dibuat. Namaimage
diharuskan menyesuaikan pada halaman container registry di repository GitLab.
- Memastikan
login
ke GitLab container registry dengan perintah:
docker login registry.gitlab.com
- Menjalankan docker container di lokal komputer dengan perintah:
docker run --rm -p -d 3000:3000 <image-name>
- Memastikan aplikasi berjalan sesuai di browser atau Postman.
- Setelah berbentuk
image
, perlu dilakukan push/upload ke container registry di repository GitLab yang sebelumnya telah dibuat.
- Pada server yang ditujukan atau di lokal komputer, docker
image
pada GitLab container registry dapat dilakukan download/pull dengan perintah:
docker pull <image-name>
- Langkah akhir dapat dijalankan docker
image
yang telah diunduh/di-download dengan perintah:
docker run --rm -p -d 3000:3000 <image-name>
Akhir Kata
Source code lengkap dapat dilihat pada link ini. Sekian.
Credits:
Image cover by Tri Eptaroka Mardiana on Unsplash.Support me on:
saweria
Top comments (3)
Hello, welcome to DEV !
Since your article is not written in english, you should make it clear in the title, which is in full english for now 😊
Done @bcouetil 😎
Sorry if I did not make myself clear enough: your title is in english, and your article body is not.
So international people will come, thinking they will be able to read, but they will not 😵
Best you can do is writing your title in your language, to not disappoint people 😉