일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- PC
- review
- Linux
- 스마트 계약
- Three
- 주식
- 블록체인
- 이더리움
- ps4
- strongloop
- 비트코인
- 부동산
- 탈중앙화
- loopback
- 쿠버네티스
- kubernetes
- 투자
- 리뷰
- threejs
- 젤다 왕눈
- 보안
- Docker
- 게임
- angular
- game
- 스마트 컨트랙트
- Games
- 거래
- 암호화폐
- 시장
- Today
- Total
BaeBox
Docker Compose (docker-compose) 본문
Compose : 다수의 컨테이너를 가지는 도커 어플리케이션을 정의하는 도구.(Compose is a tool for defining and running multi-container Docker applications.)
왜 쓸까??
* 컨테이너간 관계 정의(ex. 의존성).
* 도커 컨테이너 실행환경을 파일로 읽기 쉬운 파일로 저장하기 위해
* 개발 환경을 짤막하게 시작하기 위해 (ex. docker-compose up, docker stack deploy [app_name])
구성 :
비록 관계가 있지만, 별개의 특성을 가진 두 가지 툴로 구성됨.
* YAML-formatted file - solution option 을 명세
- containers
- networks
- volumes
* CLI tool(docker-compose)
- yaml 파일을 자동화.
docker-compose.yml 이 기본 파일명이지만 docker-compose -f 를 사용하면 변경 가능.
version: '3.1' service: servicename#1: image: # optional command: # optional environment: # optional volumes # optional servicename#2: # if have second service... volumes: # optional network: # optional
|
version : 파일 규격 버전. 버전별 property가 다를 수 있ㅇ므
services : 실행하려는 컨테이너를 정의. 컴포즈는 컨테이너 대신 서비스라는 개념을 사용
volumes : 서비스에 host의 디렉토리를 mount
ex) "host_dir:docker_dir:flag"
environment: 서비스의 환경변수
ports : 서비스에 포트포워딩
1) 각 서비스의 ip가 다름
2) 알려진 포트를 숨김으로 보안 향상
user : 서비스의 유저 설정. 사용자 id로도 이름으로 줘도 ok.
ex) user_id:group_id
network: 네트워크 호스트 할당. 섲렁 자동적으로 dns가 됨.
depends_on : 의존성있는 서비스 목록. compose_only
restart : 에러 OR 종료시 다시 시작하기 위한 옵션. compose_only
- no (default), on_failure, always 세 가지?
deploy : ..스택의 설정? stack_only
restart_policy : any (default), on_failure, none
'개발 관련' 카테고리의 다른 글
Docker - Persistent Data, Data Volumes & Bind Mounting (0) | 2019.10.23 |
---|---|
Docker - Dockerfile (0) | 2019.10.23 |
Docker - Container (0) | 2019.10.23 |
Docker Image (0) | 2019.10.23 |
Docker Engine (0) | 2019.10.23 |