Docker Compose

Vorhandenheit ·2022년 2월 22일
0

Docker

목록 보기
5/7

Docker Compose

일반적으로 시스템은 하나의 애플리케이션으로 구동되는게 아니라, 여러 개의 애플리케이션이 서로 의존성 있게 구성되어있습니다. 하나의 컨테이너가 하나의 애플리케이션을 담당한다고 하면, 여러개의 컨테이너가 필요로 할 겁니다. 이를 해결하기위해 어러 컨테이너들을 한번에 관리할 수 있게 Docker Compose를 사용합니다.

1. YAML

도커 컴포즈를 사용하기 위해서는 YAML 파일을 만들어야합니다. docker compose를 실행시키기위한 설정파일이 yaml포맷으로 되어있습니다.
YAML, Yet Another Markup Language의 준말로, 사람이 보기 편하게 이해하기쉽게 형태를 보여주는게 목적입니다.

명령어

2. Docker-compose 기본 명령어

docker-compose up

컨테이이너를 생성 및 실행합니다.

docker-compose up [OPTIONS] [SERVICE]

docker-compose ps

현재 동작 중인 컨테이너들의 상태를 확인할 수 있습니다.

docker-compose ps [OPIONS]
  • -q, -quiet : 컨테이너 ID만 출력됩니다.
  • -services : 정의된 서비스 명을 출력합니다.
  • -a, -all : 종료된 컨테이너를 포함하여 모든 컨테이너를 출력합니다.

docker-compose logs

컨테이너들의 로그를 출력합니다.

docker-compose logs

docker-compose run

docker-compose up 명령어를 이용해 생성 및 실행된 컨테이너에 임의의 명령을 실행하기 위해 사용합니다.

docker-compose run [서비스명] [명령]

특정 서비스에서 /bin/bash/를 실행시켜 쉘 환경으로 진입하고 싶다면 아래와 같은 명령어를 이용하면 됩니다.

docker-compose run redis /bin/bash/

docker-compose rm

docker-compose로 생성한 컨테이너들을 일괄 삭제합니다.

docker-compose rm

docker-compose (start/stop/pause/unpause/restart)

여러개의 서비스 또는 특정 서비스를 시작/정지/일시정지/재시작 할 수 있습니다.

docker-compose start

docker-compose stop

docker-compose pause

docker-compose unpause

docker-compose restart

docker-compose kill

실행 중인 컨테이너를 강제로 정지시킨다. kill 뒤에 서비스를 지정하여 특정 서비스만 kill 할 수 있습니다.

docker-compose kill [OPTION]
docker-compose kill -s SIGINT

docker-compose down

네트워크 정보, 볼륨, 컨테이너들을 일괄 정지 및 삭제 처리합니다

docker-compose down

(만약 docker-compose down --rmi all 명령을 사용하면 모든 이미지까지 삭제합니다.)

docker-compose port

서비스 프라이빗 포트 번호의 설정을 확인할 수 있습니다.

docker-compose port [SERVICE] [PORT]

docker-compose config

docker-compose 구성 파일의 내용을 확인할 수 있씁니다.

docker-compose config

docker-compose up vs docker-compose up --build 차이

  • docker-compose up : 이미지 없을 때 빌드하고 컨테이너 시작
  • docker-compose up --build : 이미지 유무에 상관없이 이미지 빌드 후 컨테이너 시작

출처

https://valuelog.tistory.com/69
https://sudarlife.tistory.com/entry/docker-compose-%EB%8F%84%EC%BB%A4-%EC%BB%B4%ED%8F%AC%EC%A6%88%EA%B0%80-%EB%AC%B4%EC%97%87%EC%9D%B4%EA%B3%A0-%EC%96%B4%EB%96%BB%EA%B2%8C-%EC%8B%A4%ED%96%89%ED%95%98%EB%8A%94-%EA%B2%83%EC%9D%BC%EA%B9%8C
https://velog.io/@korjsh/Docker-%EC%BB%B4%ED%8F%AC%EC%A6%88-%EA%B8%B0%EC%B4%88-%EB%B0%8F-%EB%AC%B8%EB%B2%95
https://devbirdfeet.tistory.com/121
https://sudarlife.tistory.com/entry/docker-compose-%EB%8F%84%EC%BB%A4-%EC%BB%B4%ED%8F%AC%EC%A6%88%EA%B0%80-%EB%AC%B4%EC%97%87%EC%9D%B4%EA%B3%A0-%EC%96%B4%EB%96%BB%EA%B2%8C-%EC%8B%A4%ED%96%89%ED%95%98%EB%8A%94-%EA%B2%83%EC%9D%BC%EA%B9%8C

profile
읽고 기록하고 고민하고 사용하고 개발하자!

0개의 댓글

관련 채용 정보