Docker라는 게 요즘 많이 들리는데, 정확히 뭔지 이해가 안 됩니다. 가상머신이랑 뭐가 다른 건가요? 개발할 때 왜 Docker를 써야 하는 건지, 실제로 어떤 점이 편해지는 건지 알려주세요. 저는 로컬에 직접 Apache+PHP+MySQL 깔아서 개발하고 있습니다.
댓글 5
**가상머신 vs Docker:**
- VM: OS 전체를 가상화 → 무겁고 느림
- Docker: 프로세스 단위 격리 → 가볍고 빠름
**Docker를 쓰는 이유:**
1. "내 컴퓨터에서는 되는데..." 문제 해결
2. 개발 환경을 코드로 관리 (Dockerfile)
3. 팀원 모두 동일한 환경 보장
4. 배포가 간편해짐
예를 들어 PHP+MySQL 환경을 Docker로 만들면:
```yaml
# docker-compose.yml
version: '3'
services:
web:
image: php:7.2-apache
ports:
- "8080:80"
volumes:
- ./src:/var/www/html
db:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: root
```
`docker-compose up` 한 줄이면 개발 환경이 완성됩니다.