티스토리 뷰

Skill

[Docker] -도커 컴포즈로 여러 컨테이너 실행하기

영지는 달리는중 2020. 11. 11. 19:53

도커를 운영 환경에서 적용하다보면 여러개의 컨테이너를 이용해야 하는 경우가 많은데 이렇게 여러 컨테이너를 관리할 때 필요한 것이 도커 컴포즈(docker-compose)이다. 이는 yml 포맷으로 기술된 설정 파일로 여러 컨테이너의 실행을 한번에 관리할 수 있게 해준다. 아래는 내가 개발하는 프로젝트에서 사용되고 있는 컴포즈 설정 파일이다.

version: '3'

services:
  nginx:
    image: nginx
    ports:
      - "80:80"
    volumes:
      - ./nginx/nginx.conf:/etc/nginx/nginx.conf
    network_mode: host

  eureka-service:
    build: ./eureka-server
    ports:
      - "8761:8761"
    network_mode: host

  redis:
    image: redis
    ports:
      - "6379:6379"
    network_mode: host

  zuul-service:
    build: ./zuul-server
    ports:
      - "8765:8765"
    environment:
      - JWT_SECRET_KEY=${JWT_SECRET_KEY}
      - JWT_ACCESS_TOKEN_VALIDITY=${JWT_ACCESS_TOKEN_VALIDITY}
      - JWT_REFRESH_TOKEN_VALIDITY=${JWT_REFRESH_TOKEN_VALIDITY}
      - YAPP_17_RDS_URL=${YAPP_17_RDS_URL}
      - YAPP_17_RDS_USERNAME=${YAPP_17_RDS_USERNAME}
      - YAPP_17_RDS_PASSWORD=${YAPP_17_RDS_PASSWORD}
    network_mode: host
    depends_on:
      - redis
      - eureka-service

  domain-service:
    build: ./domain-service
    ports:
      - "8082:8082"
    environment:
      - YAPP_17_RDS_URL=${YAPP_17_RDS_URL}
      - YAPP_17_RDS_USERNAME=${YAPP_17_RDS_USERNAME}
      - YAPP_17_RDS_PASSWORD=${YAPP_17_RDS_PASSWORD}
      - YAPP_17_S3_ACCESSKEY=${YAPP_17_S3_ACCESSKEY}
      - YAPP_17_S3_SECRETKEY=${YAPP_17_S3_SECRETKEY}
    network_mode: host
    depends_on:
      - zuul-service
      - eureka-service
  • version : yml 파일의 내용을 해석하는데 필요한 문법을 선언하는 것이다 
  • services : 아래의 nginx 와 여러개의 서비스들은 컨테이너 이름으로 아래에 다시 어떤 이미지를 실행할지가 정의된다
  • ports : 전 포스팅에서 말했던 포트포워딩을 정의하는 것이다 (host:container)
  • volumes : 컨테이너 안의 데이터를 공유하기 위해 사용하는 것이다
    • host:container 방식으로 하여 호스트의 디렉토리를 컨테이너의 volume 디렉토리로 사용할 수 있도록한다
  • depends_on : 서비스간의 종속성 순서를 정의하는 것이다 
    • Zuul-service에서 redis를 사용하므로 depends_on을 통해 실행 순서를 정해주었다 
  • enviornment : 컨테이너의 환경 변수를 지정해주는 것이다
docker-compose up -d

명령어를 사용하여 백그라운드로 도커 컨테이너들을 실행 시키면 된다

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함