- docker-compose 설치
- 일반적으로 docker 설치시 docker-compose도 함께 설치
- docker-compose 장점
- docker간의 통신을 위한 네트워크 구성을 위해 사용
- 복수 개의 컨테이너를 한꺼번에 실행, 정지시키기 위한 툴
- compose 네트워크 내부에서만 컨테이너를 접근하게 할수 있어, 보안상 이점
- docker-compose 주요 명령어
- docker-compose up -d 실행
- 컨테이너 생성 및 실행
- 즉, docker build와 docker run의 과정이 docker-compose up 명령어 하나로 수행
- 기존 이미지가 있는 경우 재빌드시--build 옵션 추가
- docker-compose down
- docker-compose stop
- docker-compose start
- docker-compose build
- 주요 키워드와 속성
- version
- 사용할 Docker Compose 파일의 버전을 지정.
- services
- 애플리케이션을 구성하는 서비스(컨테이너)들을 정의
- 각 서비스는 컨테이너의 설정을 포함
- image
- build
- Dockerfile의 위치를 지정하여 이미지를 빌드하는 데 사용
- ports
- environment
- depends_on
- 컨테이너의 의존성을 정의하여, 서비스가 시작되는 순서를 제어
- volumes
- 데이터를 저장하기 위한 볼륨을 정의
- 컨테이너가 삭제되어도 데이터가 유지
- database, log, 정적컨텐츠를 컨테이너에서 관리할경우 volume을 활용하여 호스트 파일시스템에 저장
- docker-compose 실습
- java실행 기본 파일 2개 실행 실습
- spring컨테이너, db컨테이너,redis컨테이너 등 동시에 실행
- db설정시 docker-compose의 service명을 db의 host명으로 사용
- 선후 관계 또는 적절한 retry 설정을 통해 spring이 db보다 추후에 실행되도록 설정