Docker untuk Developer Solo: Setup Minimal yang Cukup

Container Docker untuk developer solo

Written by

in

Docker untuk Developer Solo: Setup Minimal yang Cukup

Jujur ya — pertama kali dengar Docker, saya pikir ini alat buat tim DevOps gede di perusahaan besar. Ternyata? Justru developer solo yang paling butuh Docker. Kamu yang kerja sendirian, sering pindah laptop, atau sering ngerjain project berbeda-beda — Docker itu bukan kemewahan, ini kebutuhan.

Artikel ini bukan tutorial Docker dari nol sampai production cluster. Ini tentang setup seminimal mungkin yang langsung berguna untuk kamu yang kerja sendiri.


Kenapa Developer Solo Butuh Docker?

Sebelum masuk ke setup, kita perlu sepakat dulu soal masalahnya.

Sebagai developer solo, kamu sering menghadapi situasi seperti gini:

  • Project A pakai Node 18, Project B masih Node 16 — install dua versi sekaligus? Ribet.
  • Membuat app yang butuh PostgreSQL dan Redis — install langsung di laptop? Kotor banget.
  • Mau beri akses ke client supaya bisa mencoba aplikasi kamu — “works on my machine” bukan jawaban yang bisa diterima.
  • Ganti laptop baru — setup ulang dari awal? Nguras waktu dan tenaga.

Docker menyelesaikan semua itu. Bukan dengan cara yang kompleks, tapi dengan konsep sederhana: setiap aplikasi atau service punya “kotak” sendiri yang terisolasi.


Yang Perlu Dipahami Dulu (Tanpa Basa-basi)

Tiga konsep utama Docker yang perlu kamu pegang:

Image

Ini blueprint. Seperti resep masakan — berisi instruksi untuk membuat environment tertentu. Image tidak jalan, image hanya deskripsi.

Container

Ini hasil eksekusi image. Container yang jalan, container yang bisa dipakai. Kamu bisa jalankan banyak container dari satu image yang sama.

Volume

Tempat menyimpan data yang persisten. Karena container itu fana — kalau dihapus, datanya hilang. Volume yang membuat data tetap ada meskipun containernya mati.

Sudah. Tiga itu dulu. Sisanya bisa belajar sambil jalan.


Setup Minimal untuk Developer Solo

1. Install Docker Desktop

Kalau kamu pakai Windows atau Mac, install Docker Desktop. Sudah include semua yang dibutuhkan — Docker Engine, Docker Compose, dan GUI kalau mau.

Kalau Linux, install Docker Engine langsung:

curl -fsSL https://get.docker.com -o get-docker.sh

sh get-docker.sh

Tambah user kamu ke grup docker supaya tidak perlu sudo terus:

sudo usermod -aG docker $USER

Log out lalu log in lagi.

2. Forget Docker Commands, Fokus ke Docker Compose

Ini tip paling penting yang jarang disampaikan ke pemula: jangan hafal docker run dulu. Langsung pakai Docker Compose.

Docker Compose memungkinkan kamu define seluruh setup aplikasi dalam satu file docker-compose.yml. Lebih mudah dibaca, lebih mudah di-share, lebih mudah diulang.

Contoh file docker-compose.yml untuk project web sederhana dengan PostgreSQL:

version: '3.8'

services:

app:

build: .

ports:

- "3000:3000"

environment:

- DATABASE_URL=postgresql://user:password@db:5432/mydb

depends_on:

- db

volumes:

- .:/app

- /app/node_modules

db:

image: postgres:15

environment:

POSTGRES_USER: user

POSTGRES_PASSWORD: password

POSTGRES_DB: mydb

volumes:

- postgres_data:/var/lib/postgresql/data

ports:

- "5432:5432"

volumes:

postgres_data:

Untuk jalankan semuanya:

docker compose up -d

Untuk stop:

docker compose down

Simpel. Dua perintah ini yang paling sering kamu pakai.

3. Dockerfile yang Tidak Berlebihan

Untuk project Node.js, ini Dockerfile yang cukup untuk development:

FROM node:18-alpine

WORKDIR /app

COPY package*.json ./

RUN npm install

COPY . .

EXPOSE 3000

CMD ["npm", "run", "dev"]

Pakai Alpine image karena ukurannya kecil. COPY package*.json dulu sebelum source code supaya layer cache-nya efisien — kalau source code berubah tapi package.json tidak, Docker tidak perlu install ulang dependency.


Workflow Harian yang Praktis

Ini pattern yang saya pakai sehari-hari:

Mulai kerja:

docker compose up -d

Cek logs kalau ada masalah:

docker compose logs -f app

Masuk ke dalam container:

docker compose exec app sh

Jalankan perintah di dalam container:

docker compose exec app npm run migrate

Selesai kerja:

docker compose down

Tips Khusus Developer Solo

Jangan simpan credentials di Dockerfile. Pakai file .env dan tambahkan ke .gitignore. Di docker-compose.yml gunakan:

env_file:

- .env

Simpan image yang sering dipakai. Redis, PostgreSQL, MySQL — pull sekali, pakai berkali-kali tanpa koneksi internet.

Buat alias di shell kamu. Kalau capek menulis docker compose up -d, buat alias:

alias dcu="docker compose up -d"

alias dcd="docker compose down"

alias dcl="docker compose logs -f"

Bersihkan secara berkala. Docker bisa makan disk lumayan banyak kalau dibiarkan:

docker system prune -a

Hati-hati — ini hapus semua image yang tidak sedang dipakai. Pastikan kamu tidak perlu image-image itu lagi.


Kapan Tidak Perlu Docker?

Docker bukan solusi untuk semua masalah. Kalau kamu cuma buat script Python sederhana yang tidak butuh service eksternal, tidak perlu Docker. Kalau kamu buat static site, tidak perlu Docker untuk development.

Pakai Docker ketika:

  • Project kamu butuh database atau service eksternal (Redis, Elasticsearch, dll.)
  • Kamu mau konsistensi environment antara development dan production
  • Kamu sering onboarding orang baru ke project kamu
  • Kamu mau bisa restore setup dengan cepat di laptop baru

Penutup

Docker untuk developer solo bukan tentang jadi DevOps handal. Ini tentang tidak buang waktu setup ulang setiap ganti laptop, tidak debat “works on my machine” sama client, dan punya environment yang bersih untuk setiap project.

Setup minimal yang saya bagikan di atas sudah cukup untuk 80% kebutuhan developer solo. Sisanya bisa belajar sambil jalan — Docker punya ekosistem yang besar, tapi fondasinya sederhana.

Mulai dengan satu project, buat docker-compose.yml-nya, dan rasakan bedanya.

Punya project yang butuh setup Docker yang proper atau bantuan containerisasi aplikasinya? Yuk ngobrol — hubungi mafadev dan kita diskusikan bareng.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *