728x90
반응형
: 단일 서버에서 여러 개의 컨테이너를 하나로 정의하고 실행하기 위한 도구이다. 즉 docker run을 통해서 실행하는 모든 어플리케이션은 docker-compose 명령어를 사용하여 작업하여 관리할 수 있다.
docker-compose 사용 이유
docker로 만든 여러 개의 컨테이너를 한번에 작업하고자 할 때가 존재한다. 웹서버는 기본적으로 프론트 엔드 서버, 백엔드 서버, 데이터베이스 서버 가 존재한다. 이를 각각 하나씩 컨테이너로 만들어 구동할 수 있게 작업해줘야 하는데, docker-compose를 사용하면 이를 한번에 작업할 수 있다.
docker-compose 설치하기
docker-compose는 각각의 OS환경에 따라 다르다. 그러므로 docker docs에서 본인의 환경에 맞는 OS를 선택하여 설치해줘야 한다.
내 경우 linux ubuntu 환경이라는 가정하에 설치하고자 한다.
sudo apt install gnome-terminal
docker-compose.yml 파일 작성하기
docker에서 컨테이너를 생성하기 위해 작성하는 파일과 같다고 보면 된다. docker-compose을 구동하기 위해서는 docker-compose.yml 파일을 작성해줘야 한다. docker-compose.yml 파일은 다음과 같이 구성되어 있다.
docker-compose 파일은 매번 업데이트되기 때문에 docker docs를 참고하는 것이 제일 빠르다. 아래의 파일은 3버전 파일이다.
version: "3.9" # optional since v1.27.0
services:
web:
build: .
ports:
- "5000:5000"
volumes:
- README.md:/docs/README.md
- logvolume01:/var/log
networks:
- service-network
redis:
image: redis
networks:
- service-network
volumes:
logvolume01: {}
networks:
service-network: {}
version: "3.9" # docker-compose 설정파일 버전
services:
service1:
# 첫번째 서비스 설정
service2:
# 두번째 서비스 설정
# ...
# 네트워크, 볼륨 등 docker resource 설정
networks:
# 네트워크 설정
volumes:
# 볼륨 설정
docker-compose 명령어
docker-compose up
docker-compose를 하기 위한 기본명령어이다. 여기서 옵션으로 하여 가동하고 싶은 서비스나 백그라운드 설정등을 해줘서 구동시키면 된다.
- -d : 도커를 백그라운드로 실행한다.
- —force-recreate : 도커 컨테이너를 새로 만들어서 실행한다.
- —build : 도커 이미지 빌드 후 compose up
컨테이너 멈추고 삭제
docker-compose down
컨테이너 멈추기
docker-compose stop
728x90
반응형