Mengapa Docker?
Docker memungkinkan Anda untuk mengemas aplikasi beserta semua dependensinya ke dalam container yang portable. Ini menghilangkan masalah "it works on my machine".
Konsep Dasar Docker
Image
Image adalah template read-only yang berisi instruksi untuk membuat container.
Container
Container adalah instance dari image yang berjalan.
Dockerfile
Dockerfile adalah text file yang berisi instruksi untuk membangun image.
Contoh Dockerfile
FROM python:3.11
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
CMD ["python", "app.py"]
Docker Compose
Docker Compose memungkinkan Anda mendefinisikan dan menjalankan multi-container Docker applications.
Contoh Kode
Docker commands yang sering digunakan
# Build image dari Dockerfile
docker build -t myapp:latest .
# Jalankan container
docker run -d -p 8000:8000 --name my-container myapp:latest
# Lihat running containers
docker ps
# Lihat logs
docker logs -f my-container
# Masuk ke container
docker exec -it my-container /bin/bash
# Stop dan hapus container
docker stop my-container
docker rm my-container
# Docker Compose
docker-compose up -d
docker-compose down
docker-compose logs -f