Docker Compose란?
기본적으로 Docker는 여러 개의 컨테이너를 동시에 실행하는데
이러한 다수 개의 컨테이너들을 하나의 서비스로 정의하고 구성하여 관리할 수 있게 해주는 툴입니다.
Docker Compose가 제공하는 편리함
1. 여러 개의 컨테이너를 관리하는데 용이함
위에서 말씀드렸다시피 여러 개의 컨테이너로 이루어진 복잡한 애플리케이션을 한 번에 관리할 수 있게 해줍니다.
즉, 여러개의 컨테이너를 하나의 환경에서 실행하고 관리하는데 수월합니다.
2. 복잡한 명령어의 간소화
여태까지 실습해오면서 컨테이너를 실행할 때 마다 입력했었던 복잡한 명령어들을 'docker compose up' 한 문장으로
대신할 수 있습니다.
Docker Compose 사용법
기존 컨테이너 실행 명령어
docker run --name webserver -d -p 80:80 ngnix
Docker Compose로 컨테이너를 실행시켰을 때
우선 compose.yml을 생성 후 아래와 같이 코딩을해줍니다.
* .yml파일은 들여쓰기를 기준으로 판단을 하기 때문에 들여쓰기에 유의해 주시기 바랍니다.
services:
my-web-server:
container_name: webserver
image : ngnix
ports:
- 80:80
* services: my-web-server
Docker Compose에서 하나의 컨테이너를 서비스(service)라고 합니다.
위 구문은 service에 name을 지정하는 옵션입니다.
* container_name : web-server
컨테이너의 name을 지정하는 옵션입니다.
CLI에서 --name과 동일한 역할을 수행합니다.
* image: nginx
컨테이너를 실행할 때 어떤 이미지를 사용할 것인지에 대한 정의를 내리는 구문입니다.
* ports
포트 매핑을 어떻게 할 지를 설정하는 구문입니다.
위의 그림과 같이 저는 demo파일 아래에 compose.yml 파일을 생성하였습니다.
terminal창에서 ls를 입력하여 compose.yml이 생성되었는지 확인해줍니다.
docker compose up -d 을 입력하시면
아래와 같이 입력했던 이미지로 컨테이너가 실행된 것을 볼 수 있습니다.
이후 compose를 중지할 때는
docker compose down이라는 명령어로 compose를 중지할 수 있습니다.
출처 - 인프런 비전공자도 이해할 수 있는 Docker 입문/실전 중..
비전공자도 이해할 수 있는 Docker 입문/실전 강의 | JSCODE 박재성 - 인프런
JSCODE 박재성 | , 🤬 에라이, 못 해먹겠네!비전공자로 개발을 시작해 여러 회사에서 CTO로 활동하다가, 현재는 교육자로 활동하고 있는 박재성이라고 합니다. 저도 비전공자로 개발을 시작해 서버
www.inflearn.com
'IT지식 > 도커(Docker) 사용법' 카테고리의 다른 글
20.도커(Docker)로 SpringBoot, MySQL, Redis 동시에 띄우기 (1) | 2025.02.15 |
---|---|
19.도커(Docker) Compose에 관련된 명령어 (0) | 2025.02.15 |
17. 도커(Dokcer) WORKDIR 정의와 사용법 (0) | 2025.02.15 |
16. 도커(Docker) 명령어 RUN과 ENTRYPOINT 차이 (0) | 2025.02.15 |
15. 도커(Docker)로 스프링 부트(Spring Boot) 연동하여 실행하기 (1) | 2025.02.14 |