도커 컴포즈를 알아보기 위해서는 기본적인 도커의 사용 이유와 예제 및 구동 방법을 알고 있으셔야 됩니다.
기본 내용은 앞의 게시물을 확인해주세요 :) - https://junlab.tistory.com/216
일반적인 시스템은 단일 애플리케이션으로 구동이 되지 않습니다. 여러 개의 애플리케이션이 서로 의존성 있게 구성되어 시스템이 이뤄져 있습니다. 그렇다면 흔히 하나의 컨테이너가 하나의 애플리케이션을 담당한다고 하면 여러 개의 컨테이너가 필요로 합니다. 이때 필요한 기술이 도커 컴포즈(Docker Compose)입니다. 도커 컴포즈는 yaml 포맷으로 작성되며 여러 개의 컨테이너의 실행을 한 번에 관리를 할 수 있게 해 줍니다.
앞의 게시물 예제 기반으로 root 위치에 도커 컴포즈를 위한 파일을 하나 만들겠습니다.
1. docker-compose.yml
version: "3"
services:
echo:
image: example/echo:latest
ports:
- 9000:8080
version
docker-compose.yml 내용을 해석하기 위한 문법 버전 - 3 버전은 안전 버전입니다.
echo
services 아래의 echo는 컨테이너 이름입니다. 즉, echo는 하나의 컨테이너입니다.
image
도커 이미지
ports
포트 포워딩
도커 컴포즈 실행을 위해 아래 명령어를 실행시켜주세요.
docker-compose up
docker container run 명령어로 실행시킨 것과 같이 동일하게 실행이 됩니다.
-d 옵션을 주고 백그라운드에서 실행을 시킬 수도 있고 다음으로 컨테이너를 종료시키겠습니다.
docker-compose up -d
docker-compose ls
docker-compose down
yml파일에 명시된 컨테이너들은 down 명령어를 통해서 한 번에 종료시킬 수 있습니다.
도커 컴포즈에 대해서 간략하게 알아봤습니다.
다음은 젠킨스를 예제를 통해서 여러 컨테이너를 만들어보고 학습을 하도록 하겠습니다.
감사합니다.
p.s)
학습은 도커/쿠버네티스를 활용한 컨테이너 개발 실전 입문을 보고 학습했습니다 :)
'Programming > System' 카테고리의 다른 글
[docker] 도커 실행 중인 전체 컨테이너 중지, 일괄 삭제 (prune) (0) | 2020.08.02 |
---|---|
[docker] 도커 컴포즈 사용법 및 젠킨스 설치&실습(여러 컨테이너 활용) (1) | 2020.06.12 |
[docker] 도커 사용 이유, 심플 예제 및 구동 (기본 사용법) (0) | 2020.05.25 |
system에러 - Unable to fetch some archives, maybe run apt-get update... (0) | 2020.04.17 |
안드로이드 에뮬레이터 에서 localhost 접속하기 (장고 서버)(Invalid HTTP_HOST 에러) (0) | 2020.02.20 |