https://docs.docker.com/compose/
Overview of Docker Compose
docs.docker.com
Docker Compose란?
- 여러 Container를 일괄적으로 정의하고 실행할 수 있는 툴
- Container들을 서비스단위로 묶어서 관리
Docker Compose 설치
https://docs.docker.com/compose/install/
Install Docker Compose
docs.docker.com
Docker compose yml 파일내 명령어
Docker Compose 명령어 | 사용예) |
version compose 버전, 버전에 따라 지원 문법이 다름 |
version: "2" |
services 컴포즈를 이용해서 실행할 Container 옵션 정의 |
service: webserver: image: nginx db: image: redis |
build 컨테이너 빌드 |
web: build: . |
image compose를 통해 실행할 이미지를 지정 |
redis: image: redis |
command Container에서 실행될 명령어 지정 |
web: build: . command: bash -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 3000 -b '0.0.0.0'" |
port Container가 공개하는 포트를 나열 |
ports: - "3000:3000" |
link 다른 Container와 연계할 Container지정 |
webserver: image: wordpress link: db: mysql |
expose 포트를 링크로 연계된 Container에게만 공개할 포트 |
services: nginx: build: . expose: - "8080" |
volumes Container 볼륨 마운트지정 |
services: db: image: postgres volumes: - /db:/var/lib/postgresql/data |
environment 환경변수 설정 |
environment: MYSQL_ROOT_PASSWORD: somewordpress MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: wordpress |
restart Container가 종료될 때 적용할 restart 정책 no: 재시작 되지 않음 always: Container를 수동으로 끄기 전까지 항상 재시작 no-failure: 오류가 있을 시에 재시작 |
volumes: - db_data:/var/lib/mysql restart: always |
depends_on Container 간의 종속성을 정의 Container간 동작 순서 지정 |
services: db: image: mysql:5.7 volumes: - db_data:/var/lib/mysql restart: always environment: MYSQL_ROOT_PASSWORD: somewordpress MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: wordpress wordpress: depends_on: - db |
Docker Compose 실행명령어
https://docs.docker.com/compose/reference/
Overview of docker-compose CLI
docs.docker.com
'클라우드 > Docker' 카테고리의 다른 글
Docker network (0) | 2021.08.17 |
---|---|
Container volume (0) | 2021.08.15 |
Docker resource 관리 (0) | 2021.08.14 |
Docker registry (0) | 2021.08.11 |
Docker image 생성 및 테스트 (0) | 2021.08.11 |