여러개의 container를 실행시키는 경우애 사용되는 방법으로 yaml 파일로 저장된 설정 파일이다.
sudo apt install docker-compose
docker-compose (docker-compose.yaml fils is default file) up -d
docker-compose -f <config file> up -d
indentation은 무조건 스페이스로 구분하여야 한다.
version: '3'
services:
nginx_8080:
image: nginx
restart: always
hostname: nginx1
container_name: cmp_nginx1_1
ports:
- 8080:80
volumes:
- /home/sin/nginx_doc_root:/usr/share/nginx/html
networks:
mynet:
ipv4_address: 172.20.0.10
nginx_8081:
image: nginx
restart: always
hostname: nginx2
container_name: cmp_nginx2_1
ports:
- 8081:80
volumes:
- /home/sin/nginx_doc_root:/usr/share/nginx/html
networks:
mynet:
ipv4_address: 172.20.0.20
networks:
mynet:
ipam:
driver: default
config:
- subnet: 172.20.0.0/24
sin@Ubuntu1804:~/docker-compose$ docker-compose -f docker-compose2.yaml ps
Name Command State Ports
--------------------------------------------------------------
cmp_nginx1_1 /docker-entrypoint.sh ngin ... Exit 0
cmp_nginx2_1 /docker-entrypoint.sh ngin ... Exit 0
sin@Ubuntu1804:~/docker-compose$ docker network ls
NETWORK ID NAME DRIVER SCOPE
f73d0758e54c bridge bridge local
eb39b47c1c04 dockercompose_mynet bridge local
53529ddcbb7f host host local
c7f8e2a3d60d none null local