Compose
는 여러 컨테이너를 가지고있는 Docker
앱을 정의하고 동작시키는 도구
입니다.Compose
는 어플리케이션 서비스들을 설정하기 위해 YAML파일을 사용합니다.Compose
는 production, staging, development, testing, CI workflows등 모든
환경에서 동작합니다.Compose
를 사용하는것은 기본적으로 3단계 입니다.
Dockerfile
로 앱의 환경을 정의합니다.docker-compose.yml
에서 만들
서비스들을 정의해줍니다.docker-compose up
을 실행하면 Compose
가 시작하고 전체 앱을 실행합니다.Compose
는 앱 라이프사이클을 관리하는 커맨드들을 가지고 있습니다.
version: '3'
services:
web:
build: .
ports:
- "5000:5000"
volumes:
- .:/code
- logvolume01:/var/log
links:
- redis
redis:
image: redis
volumes:
logvolume01: {}
-p
를 이용하여 이름을 정할 수 있습니다.Compose
는 서비스들에 의해 사용되는 모든 볼륨들을 유지합니다.docker-compose up
이 실행되었을 때 만약 이전에 동작시켰던 컨테이너들을
찾는다면 이전 컨테이너를 새로운 컨테이너로 복사합니다.Compose
는 컨테이너를 만들때 사용된 설정을 캐싱합니다.Compose
는 존재하는 컨테이너들을
재사용합니다.Compose
커맨드 라인 도구로 환경을 만들고 상호작용할 수 있습니다.Compose file
는 어플리케이션의 서비스 의존성들을 설정하고 문서화 하는 기능을
제공합니다.Continuous Deployment
혹은 Continuous Integration
에서 중요한 부분은
자동화된 테스트입니다.Compose
는 테스트를 위한 격리된 테스트 환경을 만드는데 편리한 방법을
제공합니다.Config file
에서 환경을 정의함으로써 환경을 만들고 삭제할 수 있습니다.$ docker-compose up -d
$ ./run_tests
$ docker-compose down
자바스크립트로 직접 만들면서 배우는 - 자료구조와 알고리즘 강의 바로 가기
실습으로 마스터하는 OAuth 2.0: 기본부터 보안 위험까지 - OAuth 2.0 강의 바로 가기
기계인간 이종립, 소프트웨어 개발의 지혜 - Git 강의 바로 가기
코드숨에서 매주 스터디를 진행하고 있습니다. 메일을 등록하시면 새로운 스터디가 시작될 때 알려드릴게요!