Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Replacation
- DockerCompose
- react
- State
- SpockFramework
- SpringCamp2017
- SpringCamp
- BDD
- 바스트로37
- 오뚜기숯불소금구이
- 고릴라볼링장
- 오삼철판볶음
- useEffect
- NVM
- 전나라동동공주
- MariaDB
- react component
- SetMail
- Java
- 양살치살
- NapuCon2016
- 신미낙지
- 판교
- 진1926
- nginx
- 강다니엘
- Hook
- docker
- Spring
- SpringCamp2019
Archives
- Today
- Total
Note
docker-compose 본문
docker-compose?
Docker Compose
는 하나의 설정으로 여러 컨테이너를 정의하고 실행할 수 있도록 도와주는 툴이다.
하나의 명령어로 여러 컨테이너를 띄워서 어플리케이션을 실행할 수 있다.
- 사용 환경
- 개발
- 테스트
- 스테이징
== Options
- image: 사용할 이미지의 태그나 ID를 명시
- build:
Docker
파일이 있는 디렉토리의 경로 - dockerfile: 기본
Dockerfile
명이 아닐 경우 여기에 이름을 명시 - command: 기본
command
를 지정 - links: 컨테이너를 다른 서비스와 연결. 연결하려는 서비스의 이름이나 별칭을 작성하면 컨테이너의
/etc/hosts
파일에 그 내용이 추가 - external_links:
links
와 비슷하지만compose
외부의 서비스와 연결을 위해 사용 - extra_hosts:
/etc/hosts
에 외부 호스트 정보를 추가 - ports: 호스트포트:컨테이너포트 식으로 호스트와
컨테이너
의 포트를 포딩한다. - expose: 호스트에는 노출하지 않고 연결된 서비스끼리만 접근 가능한 포트를 명
- volumes: 볼륨으로 마운트할 디렉토리를 명
- volumes_from: 다른 서비스나
컨테이너
의 볼륨 전체를 마운트 - environment: 환경 변수를 명시
- env_file: 환경 변수를 파일에서 추
- extends: 다른
compose
설정을 현재 파일에 가져와 사용 - labels:
컨테이너
에docker label
을 이용해서 메타데이터를 추가 - container_name:
컨테이너
이름을 지정 - log driver:
컨테이너
에서 사용할 로깅 드라이버를 명시 - net: 네트워킹 모드를 지정.
docker
의-net
옵션과 동일 - pid:
PID
모드를 호스트PID
모드로 설정. 호스트와컨테이너
운영체제가 같은PID
주소 공간을 공유 - dns:
컨테이너
가 사용할 커스텀DNS
서버를 설정 - dns_search:
DNS
검색 도메인을 지정 - cap_add:
컨테이너
의 시스템에 관한 권한을 추가 - cap_drop:
컨테이너
의 시스템에 관한 권한을 삭제 - devices: 디바이스 매핑 목록.
docker
의--devices
와 동일
Example
version: '3'
services:
example:
build:
context: ./docker
dockerfile: Dockerfile
image: example:latest
environment:
STATIC_DOMAIN: "http://static.nuti.pe.kr"
VM_XMS: "256m"
VM_XMX: "1024m"
VM_XX_NEW_SIZE: "384m"
VM_XX_NEW_PERM_SIZE: "128m"
DB_HOST: "db.nuti.pe.kr"
DB_NAME: "blog"
DB_USERNAME: "nuti"
DB_PASSWORD: "db_pw"
volumes:
- ./logs:/tomcat/logs
ports:
- "80:80"
network_mode: "bridge"
'Dev > Etc' 카테고리의 다른 글
Dockerfile (0) | 2019.11.24 |
---|---|
Maven (0) | 2019.11.24 |
Clean Code (0) | 2019.11.24 |
Nginx Loadbalance 설정 (0) | 2019.11.24 |
CentOS 메일서버 설정 및 자바에서 메일 발송하기 (0) | 2019.11.24 |
Comments