서비스, 볼륨, 네트워크 및 환경 변수가 포함된 다중 서비스 애플리케이션을 위한 docker-compose.yml 파일을 생성합니다.
services:
app:
image: myapp:latest
ports:
- "3000:3000"
environment:
- NODE_ENV=production
networks:
- app-network
restart: unless-stopped
database:
image: postgres:16
ports:
- "5432:5432"
environment:
- POSTGRES_PASSWORD=secret
volumes:
- db-data:/var/lib/postgresql/data
depends_on:
- app
networks:
- app-network
restart: unless-stopped
networks:
app-network:
driver: bridge
volumes:
db-data:Docker Compose는 다중 컨테이너 애플리케이션을 단일 YAML 파일로 정의합니다. 각 서비스는 이미지 또는 빌드 컨텍스트, 노출된 포트, 환경 변수, 볼륨 마운트 및 네트워크 구성원을 지정합니다. Compose는 단일 `<code>docker compose up</code>` 명령을 통해 모든 서비스를 올바른 순서대로 시작하도록 처리합니다.
서비스마다 한 행씩 추가하십시오. 이미지 이름, 포트(host:container 형식), 환경 변수 및 볼륨 마운트를 설정하십시오. 이름이 지정된 볼륨(앞에 /가 없는)은 최상위 볼륨 섹션에 자동으로 선언됩니다. 바인드 마운트(/ 또는 ./로 시작하는)는 있는 그대로 전달됩니다.
이 생성기는 Compose V2(Docker Desktop 3.x 및 Docker Engine 23.x부터 기본값)를 대상으로 합니다. 사용 중단된 <code>버전:</code> 최상위 키는 의도적으로 생략되었습니다. 서비스 종속성은 <code>depends_on으로</code> 표현할 수 있습니다. 당분간은 이를 YAML 키로 ports 필드에 추가하거나, 출력 결과를 직접 편집하십시오.