SW/DevOps

DevOps : Docker Compose : 기초, 개념

얇은생각 2019. 12. 4. 07:30
반응형

Docker Compose란?

Docker-Compose는 여러 개의 컨테이너를 일괄적으로 관리하는 도구입니다. 대부분의 시스템은 여러 대의 서버가 유기적으로 연계되어 마치 하나의 서비스처럼 작동합니다.

이때 다수의 컨테이너 각각을 개별적으로 다루는 것보다 여러 개를 통합적으로 관리하는 것이 효과적입니다. Docker-Compose는 도커와는 별개의 도구이지만 Docker ce for windows에서 기본적으로 제공됩니다.

 

 

 

docker-compose.yml

Docker-Compose.yml은 Docker-Compose의 구성 파일입니다. 한 파일 안에 여러 컨테이너 설정 내용을 저장합니다.
도커 애플리케이션을 위한 서비스, 네트워크, 볼륨 등을 정의합니다. 버전별로 차이점이 있으며 현재 최신 버전은 버전 3입니다. 하지만 여전히 과거 버전도 사용되고 있습니다.

Docker-Compose의 구성 파일은 텍스트 파일인 YAML 형식을 사용합니다. Yaml은 사람이 쉽게 읽을 수 있는 계층을 가지는 데이터 표현 양식인데, 기존에 많이 사용했던 XML이나 JSON보다 가볍고 사용하기가 쉬워 널리 쓰이고 있습니다. 사용 시 주의사항은 탭 대신 공백을 사용해야 하고, 배열 데이터의 경우 '-' 기호를 붙여야 한다는 것은 꼭 기억해야 합니다.

 

links

각 항목의 요소들을 살펴보겠습니다. 링크는 다른 컨테이너와 연결할 때 연결 대상을 설정합니다. 링크 할 서비스명과 별칭을 지정할 수 있습니다.

 

external-links

External_linnks는 외부의 다른 컨테이너와 연결할 때 사용합니다. 마찬가지로 서비스명과 추가적으로 별칭을 지정할 수 있습니다.

 

ports

포트는 호스트와 연결하기 위한 컨테이너의 포트번호를 지정하거나 호스트의 포트번호와 컨테이너의 포트번호를 지정합니다.

 

expose

호스트가 아닌 링크된 컨테이너, 즉 컨테이너 내부에만 공개할 경우에는 Expose를 사용합니다.

 

volumes

Volumes는 컨테이너에 볼륨을 마운트 할 때 사용합니다. 호스트의 디랙토리 경로, 콜론 컨테이너의 디랙토리 경로로 매핑합니다. 필요시에는 읽기 전용으로 마운트 하게 할 수 있습니다. 

 

 

Docker-Compose의 명령어 목록

 

컨테이너를 생성하고 구동하는 명령, 목록을 표시하는 명령, 로그를 확인하는 명령, 컨테이너를 실행하는 명령, 컨테이너 시작, 중지, 재시작하는 명령, 컨테이너를 삭제하는 명령 등이 있습니다. Docker-Compose는 도커와 유사한 명령어를 제공합니다.

Docker-Compose 명령 실행은 Docker-Compose.yml이 위치한 디랙토리에서 실행하거나 필요시 별도로 지정할 수 있습니다. 다수의 컨테이너를 동시에 다루는 Docker-Compose 명령은 단일 컨테이너를 다루는 도커와 거의 유사합니다.

반응형