korean IT student

Docker - Docker Compose란? 본문

Infra/Docker

Docker - Docker Compose란?

현창이 2020. 9. 8. 23:14

Docker Compose 란

  - 다중 컨테이너 도커 어플리케이션을 정의하고 실행하기 위한 도구

 

Docker Compose를 사용하려면

 - 애플리케이션 환경에 도커파일 정의

 - 애플리케이션 서비스에 docker-compose.yml 정의

 - 도커 컴포즈 실행 - docker-compose up

 

Docker Compose 사용하는 이유

  - yaml 파일을 사용하여 애플리케이션 서비스를 구성

  - 단일 명령으로 구성하여 컨테이너를 각각 실행할 필요 없음 -> 작업시간을 줄여준다.

 

 - 기본적으로 Docker Compose는 하나의 디폴트 네트워크에 모든 컨테이너를 연결합니다. (docker network 참고)         -  디폴트 네트워크의 이름은 docker-compose.yml가 위치한 디렉토리 이름 뒤에 _default가 붙습니다. 예를 들어, 디렉토리 이름이 our_app라면 디폴트 네트워크 이름은 our_app_default가 됩니다.

 -> 멀티 컨테이너 상황에서 쉽게 네트워크를 연결시켜주기 위해서 docker compose 사용

 

Docker Compose.yml 작성

 

node와 redis를 연결하였다.

version - 도커 컴포즈의 버전

services - 이곳에 실행하려는 컨테이너들을 정의

   redis-server - 컨테이너 이름

      image - 컨테이너에서 사용하는 이미지

   node-app - 컨테이너 이름

      build - 현 디렉토리에 있는 Dockerfile 사용

      ports - 포트 맵핑 로컬 포트 : 컨테이너 포트

 

도커 컴포즈 실행 - docker-compose up  이미지가 없을 때 이미지를 빌드하고 컨테이너 실행

도커 컴포즈 실행 - docker compose up --build 이미지가 있든 없든 이미지를 비들하고 컨테이너 실행

도커 컴포즈 중단 - docker compose down

 

 

<참조>

https://www.simplilearn.com/tutorials/docker-tutorial/docker-compose

 

What is Docker Compose: Benefits and Basic Commands

This article helps you to understand Docker compose, what are the benefits and basic commands in Docker compose. So, click here to learn about Docker compose

www.simplilearn.com

https://docs.docker.com/compose/

 

Overview of Docker Compose

 

docs.docker.com

https://www.daleseo.com/docker-compose-networks/

Comments