docker-compose.yml?
- 컨테이너화도딘 여러 서비스를 정의하고 관리하기 위한 구성 파일
- YAML 형식으로 작성되며, 애플리케이션 환경을 코드로 표현하여 쉽게 복제 가능
docker-compose.yml 장점
- 여러 컨테이너를 한 번에 실행 및 관리 가능
- 네트워크, 볼륨 등 관련 리소스를 자동으로 설정
- 개발 환경에서 프로덕션 환경으로 쉽게 전환 가능
docker-compose.yml 주요 구성 요소
- version
- 파일 형식 정의
- services
- 애플리케이션의 각 컨테이너 정의
- 각 서비스는 별도의 Docker 컨테이너 실행
- image
- 사용할 Docker 이미지 지정
- build
- 이미지를 직접 빌드할 경우, Dockerfile의 경로 지정
- ports
- 호스트 <-> 컨테이너 간의 포트 매핑
- volumes
- 데이터 공유를 위한 볼륨을 정의하고 마운트
- 전역으로 볼륨을 정의하고 사용 가능
- depends_on
- 서비스 간 의존성 설정
- networks
- 서비스 간 통신을 위한 네트워크 설정
- 서비스 간 통신을 위한 네트워크 설정
예제
- Nginx와 Mysql로 구성된 간단한 웹 애플리케이션 예제
version: "3.9"
services:
web:
image: nginx:latest
ports:
- "8080:80"
db:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: secret
- 빌드가 포함된 Flask 애플리케이션 예제
version: "3.9"
services:
web:
build:
context: .
ports:
- "5000:5000"
volumes:
- "./app:/app"
db:
image: postgres:13
environment:
POSTGRES_USER: user
POSTGRES_PASSWORD: password
'Docker' 카테고리의 다른 글
[Docker] 5. Docker Compose? (0) | 2024.11.15 |
---|---|
[Docker] 4. Volume? Mount? (0) | 2024.11.14 |
[Docker] 3. Docker Hub? (0) | 2024.11.13 |
[Docker] 2. Docker 기본 명령어 (1) | 2024.11.13 |
[Docker] 1. Docker? (0) | 2024.11.13 |