Dockerfile and Docker Compose untuk Pemula

Arsy Opraza
3 min readOct 30, 2023

--

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.

source

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.

--

--

Arsy Opraza
Arsy Opraza

No responses yet