compose에서 각 버전에 따른 차이점을 제공해준다. 공식 홈페이지 대부분의 경우엔 version을 '3'으로 픽스해서 사용(현재 2019년 11월버전 기준)
서비스 단위로 묶어서 docker run
을 실행
services:
ent:
image: ent/dev:1.0 # 사용할 이미지
container_name: development-ent # 해당 컨테이너의 이름
environment:
TZ: 'Asia/Seoul' # 환경 변수 설정
ports: # 사용할 포트 -p와 같음
- '2028:8888'
- '2023:7022'
- '2022:22'
expose: # 위의 포트를 한번더 등록
- '8888'
- '7022'
- '22'
volumes: # volume을 통해 local에 데이터를 남김
- develop:/usr/develop
volumes:
develop: # 반드시 위에 volues의 : 이전 이름과 맞춰야 함
driver: local # 로컬에서 사용함
driver_opts:
type: none
o: bind
device: /Users/moon/Develop/tutorials/docker/ent/data # 위에서 usr/develop의 경로를 나는 이 경로에서 사용
데이터를 local에 저장하거나 다른 컨테이너와 공유하기 위해서 사용
- server (nodeJS, django)
- DB
services:
db:
...
volumes:
- ./docker/data:/var/lib/postgresql/data
django:
depends_on:
db:
condition: service_healthy
links:
- db
volumes:
- ./:/app/
참고 도커 컴포즈 사용법