본문 바로가기
Infra

[Docker] 🐋 도커 :: Compose란 무엇인가?

by 옥돔이와 연근이 2025. 4. 2.
728x90
반응형

 

 

📍 Docker Compose란 무엇인가

컨테이너 여럿을 띄우는 도커 애플리케이션을 정의하고 실행하는 도구
(Tool for defining and running multi-container Docker applications)


 

컨테이너끼리 통신을 할 수 없기에 에러가 발생함.

해당 에러를 해결할 수 있게 멀티 컨테이너에서 쉽게 네트워크를 연결 시켜줄 수 있게 해준 것이 도커 컴포즈이다.

웹 서비스는 일반적으로 프론트엔드 서버, 벡엔드 서버, 데이터베이스 서버로 구성된다.

따라서 각 서버를 docker container로 연결한 뒤 docker compose를 사용하여 해당 컨테이너들을 관리한다.

 

 

📍 Docker Compose 파일 작성 

yaml 파일 : YAML ain't markup languge의 약자로, 구성 파일 및 데이터가 저장되거나 전송되는 응용 프로그램에서 사용된다.
즉 XML이나 json 포맷과 비슷하나 좀 더 사람이 읽기 쉬운 포맷을 사용한 파일이다.

 

 

#docker-compose.yml

# 도커 컴포즈의 버전
version: "3" 

# 이곳에 실행하려는 컨테이너들을 정의
services:
    # 컨테이너 이름
    redis-server:
        # 컨테이너에서 사용하는 이미지
        image: "redis" 

    # 컨테이너 이름
    node-app:
        # 현 디렉토리에 있는 Dockerfile 사용
        build: .
        #포트 맵핑, 로컬 포트 : 컨테이너 포트
        ports:    
            -"5000:8080"

 

 

📍 Docker Compose 파일  실행

파일 작성 후 해당 파일 위치에 터미널을 켠 후 명령어를 입력해주면

두개의 컨테이너를 동시에 실행시킬 수 있다.

# 이미지가 없을 때 이미지를 빌드하고 컨테이너 시작
docker-compose up

# 이미지가 있든 없든 이미지를 빌드하고 컨테이너 시작
docker-compose up --build

# detached모드로, 앱을 백그라운드에서 실행시킴. 그래서 output을 표출 X
docker-compose up -d

 

 

📍 Docker Compose 로 컨테이너 멈추기

docker-compose down

 

 

 

 

 

728x90

'Infra' 카테고리의 다른 글

[Docker] 🐋 도커 :: Volume  (0) 2025.04.02
[Docker] 🐋 도커 :: 맥북, 도커 설치 (M1)  (0) 2025.03.31