docker compose yml 혹은 yaml 파일 작성법
compose 버전. 버전에 따라 지원 문법이 다르다.
version: "2"
컴포즈를 이용해서 실행할 컨테이너 옵션을 정의
service:
webserver:
image: nginx
db:
image: redis
컨테이너 빌드
webapp:
build: .
compose를 통해 실행할 이미지를 지정
webapp:
image: centons:7
컨테이너에서 실행될 명령어 지정
app:
image: node:12-alpine
command: sh -c "yarn install && yarn run dev"
컨테이너가 공개하는 포트를 나영
webapp:
image: httpd:latest
port:
- 80
- 8443:443
다른 컨테이너와 연게할 때 연계할 컨테이너 지정
webserver:
image: wordpress:latest
link:
db:mysql
포트를 링크로 연게된 컨테이너에게만 공개할 포트
expose:
- 3306
- 33060
컨테이너에 볼륨을 마운트
webapp:
image: httpd
volumes:
- wp_data:/var/www/html
컨테이너에 적용할 환경변수를 정의
database:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: pass
컨테이너가 종료될 때 적용할 restart 정책
Options | Decriptions |
---|---|
no | 재시작 되지 않음 |
always | 컨테이너를 수동으로 끄기 전까지 항상 재시작 |
on-failure | 오류가 있을 시에 재시작 |
restart: always
컨테이너 간의 종속성을 정의. 정의한 컨테이너가 먼저 동작되어야 한다
services:
web:
image: wordpress:latest
depends_on:
- db
db:
image: mysql