Docker Compose를 사용한 멀티 프로젝트 관리

KUKJIN LEE's profile picture

KUKJIN LEE3개월 전 작성

※ 기본적인 이해를 위한 문서입니다. 구현 및 실행에 대한 내용이 아닙니다.

 

서버1프로젝트와 서버2프로젝트가 서로 다른 상위 디렉토리에 존재하는 경우, 각각의 프로젝트를 Dockerfile을 통해 컨테이너화하고 Docker Compose를 사용하여 이를 하나의 구성으로 묶어 관리할 수 있습니다.

 

Docker Compose를 사용한 멀티 프로젝트 관리

 

프로젝트 폴더 구조

서버1프로젝트와 서버2프로젝트가 각각 별도의 디렉토리에 존재한다고 가정합니다.

server1/
  ├── Dockerfile
  └── ... (기타 파일)
server2/
  ├── Dockerfile
  └── ... (기타 파일)

 

단계 1: server1의 Dockerfile 작성

# server1/Dockerfile
FROM nginx:latest
COPY . /usr/share/nginx/html

 

단계 2: server2의 Dockerfile 작성

# server2/Dockerfile
FROM nginx:latest
COPY . /usr/share/nginx/html

 

단계 3: 각 프로젝트의 Docker 이미지를 빌드

터미널에서 각각의 프로젝트 디렉토리로 이동하여 Docker 이미지를 빌드합니다.

# server1 디렉토리에서
cd /path/to/server1
docker build -t server1-image .

# server2 디렉토리에서
cd /path/to/anotherpath/server2
docker build -t server2-image .

 

단계 4: Docker Compose 파일 작성

최상위 디렉토리(/path/to/ 또는 다른 원하는 위치)에 docker-compose.yml 파일을 생성합니다.

version: '3'
services:
  server1:
    image: server1-image
    ports:
      - "8081:80"
  server2:
    image: server2-image
    ports:
      - "8082:80"

 

단계 5: Docker Compose로 컨테이너 실행

  1. docker-compose.yml 파일이 있는 디렉토리로 이동합니다.

  1. docker-compose up 명령어를 실행하여 두 컨테이너를 동시에 시작합니다.

docker-compose up

명령어를 실행하면 Docker Compose가 docker-compose.yml 파일을 읽고, 빌드된 server1-imageserver2-image 이미지를 사용하여 서비스를 시작합니다.

  1. 이후 경로로 접속하여 서비스가 정상적으로 동작하는지 확인합니다.

    • server1: http://localhost:8081

    • server2: http://localhost:8082

 

New Tech Posts