Docker for Developers
Docker telah revolutionize cara kita develop dan deploy applications. Berikut guide lengkap untuk developers.
What is Docker?
Docker adalah containerization platform yang memungkinkan Anda package applications dengan semua dependencies-nya.
Benefits
- Consistency: Same environment di development dan production
- Isolation: Each container runs independently
- Portability: Run anywhere yang support Docker
- Efficiency: Lightweight dibanding VMs
Getting Started
Installation
Download dan install Docker Desktop dari docker.com
Your First Container
docker run hello-world
Dockerfile Basics
Membuat Dockerfile untuk PHP application:
FROM php:8.2-fpm
WORKDIR /var/www
COPY . .
RUN composer install
EXPOSE 9000
CMD ["php-fpm"]
Docker Compose
Docker Compose untuk multi-container applications:
version: '3.8'
services:
app:
build: .
ports:
- "8000:8000"
volumes:
- .:/var/www
depends_on:
- db
db:
image: mysql:8.0
environment:
MYSQL_DATABASE: myapp
MYSQL_ROOT_PASSWORD: secret
volumes:
- dbdata:/var/lib/mysql
volumes:
dbdata:
Common Commands
# Build image
docker build -t myapp .
# Run container
docker run -p 8000:8000 myapp
# List containers
docker ps
# Stop container
docker stop <container-id>
# Remove container
docker rm <container-id>
Best Practices
- Use .dockerignore: Exclude unnecessary files
- Multi-stage builds: Optimize image size
- Layer caching: Order instructions efficiently
- Environment variables: For configuration
- Health checks: Monitor container health
Conclusion
Docker simplifies development workflow dan ensures consistency across environments. Start containerizing your apps today!