Dockerfile and Docker Compose untuk Pemula
Tahukah kamu bahwa terdapat satu tools yang mempermudah proses pengembangan aplikasi dengan Docker yaitu Dockerfile dan Docker Compose. Dua artikel sebelumnya kita sudah bahas mengenai docker, intro to docker dan docker for beginners. Di artikel ini, kita akan bahas mengenai Dockerfile dan Docker Compose. Sudah penasaran, kan? Mari kita simak pembahasan berikut ini.
Apa itu Dockerfile?
Dockerfile adalah teks yang berisi perintah yang dibutuhkan untuk membuat sebuah image. Ketika menjalankan perintah docker build, maka Dockerfile akan digunakan untuk pemicu proses pembuatan image.
Format sintaks dasar Dockerfile seperti berikut ini:
# Comment
INSTRUCTION arguments
Docker menjalankan instruksi yang ada di Dockerfile secara berurutan. Sebuah Dockerfile harus diawali dengan kata FROM.
Contoh berkas Dockerfile:
FROM node:18
WORKDIR /app
COPY package.json .
RUN npm install
COPY . .
EXPOSE 3000
CMD ["node", "server.js"]
Membangun Docker Image
Build image docker semakin mudah dengan adanya Dockerfile, dengan menggunakan Docker CLI cukup menggunakan perintah docker build.
docker build -t test-dockerfile .
Pada perintah di atas, -t digunakan untuk memberikan nama dan tag untuk image.
Kemudian, jalankan perintah docker images untuk melihat list images yang ada di local komputer untuk memastikan proses build berhasil dilakukan.
Menjalankan Docker Image
Docker images telah berhasil dibuat, selanjutnya images tersebut dapat dijalankan dengan perintah docker run.
Docker images telah berhasil dijalankan, dapat dilihat bahwa aplikasi yang dibangun berjalan di port 3000.
Docker Compose
Docker Compose adalah tools yang digunakan untuk menjalankan multi-container docker. YAML file adalah file yang digunakan untuk menulis konfigurasi layanan aplikasi yang ingin dibuat. Docker Compose bisa berjalan di berbagai environment seperti production, staging, dan dev.
Membuat Docker Compose file
Di dalam direktori proyek, buatlah file yang berekstensi .yml. Kemudian tulis kode berikut ini.
version: '1'
services:
node-service:
image: node:18
build: .
working_dir: /app
volumes:
- .:/app
ports:
- "3000:3000"
command: ["node", "server.js"]
Di dalam docker-compose.yml terdapat satu services yang bernama“node-service”. Dan di dalamnya terdapat satu image yang digunakan yaitu node:18 beserta command untuk menjalankan aplikasi. Tak lupa pula mengdefenisikan port yang digunakan oleh aplikasi.
Membuat dan menjalan Container via Docker Compose
Setelah membuat file docker-compose.yml, selanjutnya menjalankan Docker Compose dengan perintah:
docker-compose up -d
Container akan dijalankan di background. Untuk memastikan container telah berhasil dijalankan via Docker Compose, tuliskan perintah berikut ini.
docker-compose ps
Menghentikan Container via Docker Compose
Menghentikan container yang sedang berjalan dapat dilakukan dengan perintah: docker-compose stop.
Menghapus Container via Docker Compose
Lalu, gimana jika kita ingin menghapus container yang telah berhasil dibuat sebelumnya? Pertanyaan menarik. Caranya dapat kita lakukan dengan perintah: docker-compose down -d.
Itulah pembahasan mengenai Dockerfile dan Docker Compose. See you di artikel berikutnya.