본문 바로가기
Q&A해결2018년 5월 10일1분 읽기

Docker가 뭔가요? 왜 써야 하나요?

도
도커입문자
조회 2570댓글 5
Docker라는 게 요즘 많이 들리는데, 정확히 뭔지 이해가 안 됩니다. 가상머신이랑 뭐가 다른 건가요? 개발할 때 왜 Docker를 써야 하는 건지, 실제로 어떤 점이 편해지는 건지 알려주세요. 저는 로컬에 직접 Apache+PHP+MySQL 깔아서 개발하고 있습니다.

댓글 5

김김영삼8년 전
Docker는 컨테이너 기반의 가상화 플랫폼입니다.

**가상머신 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` 한 줄이면 개발 환경이 완성됩니다.
서서버지기영호8년 전
Docker Hub에 공식 이미지가 많으니까 거기서 찾아보시면 됩니다. nginx, node, python 등 웬만한 건 다 있어요.
도도커입문자(guest)8년 전
Docker를 쓰면 로컬에 직접 프로그램 설치 안 해도 되는 거군요. 깔끔하네요.
김김영삼도커입문자8년 전
네 맞습니다. 프로젝트마다 다른 PHP 버전을 쓸 수도 있고, 안 쓰는 환경은 컨테이너만 삭제하면 됩니다.
풀풀스택지훈8년 전
Windows에서 Docker Desktop 설치하면 GUI로도 관리할 수 있어서 편합니다. 다만 Windows 10 Pro 이상이어야 Hyper-V를 쓸 수 있어요.
Ctrl+Enter로 등록