Container/Docker Compose
도커 컴포즈 및 스택 yml 파일 옵션 정리5 - 기타옵션
2mukee
2021. 11. 6. 17:03
320x100
320x100
기타 옵션
devices
: 장치매핑 목록
: docker stack에서는 무시되는 옵션
: docker run --device 옵션과 동일 형식
devices:
- "/dev/ttyUSB0:/dev/ttyUSB0"
dns
: 사용자 지정 DNS 서버 단일 값 혹은 목록
dns:
- 8.8.8.8
- 9.9.9.9
dns_search
: 맞춤 DNS 검색 도메인 단일 값 혹은 목록
dns_search:
- dc1.example.com
- dc2.example.com
labels
: 컴포즈 파일에 대한 메타데이터
labels:
- "com.example.description=Accounting webapp"
- "com.example.department=Finance"
- "com.example.label-with-empty-value"
logging
: 서비스의 로깅구성
logging:
driver: syslog
options:
syslog-address: "tcp://192.168.0.42:123"
driver: "json-file"
driver: "syslog"
driver: "none"
version: "3.7"
services:
some-service:
image: some-service
logging:
driver: "json-file"
options:
max-size: "200k"
max-file: "10"
※ 참조 (https://2mukee.tistory.com/194)
ipam
: 컨테이너에 대한 접근 제어 방법 설정 (pam 설정)
ipam:
driver: default
config:
- subnet: 172.28.0.0/16
변수치환
: 컴포즈 파일에서의 변수 사용
: docker compose 사용시 .env 파일을 이용하여 변수의 기본값 설정이 가능하나
docker stack 사용시 .env로의 기본 변수 설정은 사용불가
db:
image: "postgres:${POSTGRES_VERSION}"
확장필드
: 사용자 정의로 필드 구성가능
version: '3.4'
x-logging:
&default-logging
options:
max-size: '12m'
max-file: '5'
driver: json-file
services:
web:
image: myapp/web:latest
logging: *default-logging
db:
image: mysql:latest
logging: *default-logging
version: '3.4'
x-volumes:
&default-volume
driver: foobar-storage
services:
web:
image: myapp/web:latest
volumes: ["vol1", "vol2", "vol3"]
volumes:
vol1: *default-volume
vol2:
<< : *default-volume
name: volume02
vol3:
<< : *default-volume
driver: default
name: volume-local
Refference
300x250
728x90