클라우드/도커
[도커] 도커 11: 도커 컴포즈 2
KyuminKim
2024. 11. 21. 19:51
지난 시간에 이어 도커 컴포즈를 더 알아보자
Docker compose service의 각 컨테이너 주요 옵션
지난 시간 이런 도커 컴포즈 파일을 알아봤다.
version: '3.3'
services:
db:
container_name: db
image: “mysql:5.7”
networks:
- testNet
ubuntu:
container_name: ubuntu
image: “ubuntu:22.04”
volumes:
- testVol:/home/volumes
networks:
- testNet
command: apt-get update
depend_on:
- db
networks:
testNet:
volumes:
testVol:
여기서 서비스는 각각 도커 컨테이너를 가르킨다고 했다.
내부 값들이 어떤 의미를 가지는지 좀더 알아보자
image
컨테이너 이미지 지정
environment
컨테이너의 환경변수 지정
배열(name=“민수”) 또는 딕셔너리(name: “민수”)로 표현
docker run의 --env와 동일
command
도커파일의 CMD와 동일
entrypoint
도커파일의 ENTRYPOINT와 동일
ports
포트포워딩
docker run의 -p와 동일
도커 컴포즈 명령어
파일 실행/재시작
$ docker-compose up # 포그라운드에서 컨테이너 실행/재시작 (ctrl + c로 종료 시 컨테이너 정지)
$ docker-compose up -d # 백그라운드에서 컨테이너 실행/재시작
$ docker-compose -f (컴포즈파일명).yml up # 도커 컴포즈 파일명을 지정하여 수행
$ docker-compose up (서비스명) # 도커 컴포즈 프로젝트 중 특정 서비스의 컨테이너들만 생성/재시작
$ docker-compose -p (프로젝트명) up # 도커 컴포즈 프로젝트를 지정하여 수행
$ docker-compose run (서비스명) # 도커 컴포즈 프로젝트 중 특정 서비스의 컨테이너만 생성
$ docker-compose scale (서비스명)=(숫자) # 도커 컴포즈 프로젝트 중 특정 서비스의 수 조정
도커 컴포즈 조회
$ docker-compose ps # 프로젝트 조회
$ docker-compose -f (파일명) ps
# 프로젝트에 docker-compose.yaml이 아닌 형식의 도커 컴포즈 파일이 있을 때 파일을 지칭하여 조회
도커 컴포즈 파일 실행 종료
$ docker-compose down # 도커 컴포즈 프로젝트 중 모든 컨테이너, 네트워크 정지 후 삭제
$ docker-compose stop (서비스) # 특정 서비스에 속한 컨테이너들 정지
다음 시간에는 포트 포워딩에 대해 알아보자!