오늘

docker compose 본문

docker

docker compose

jhw715 2023. 5. 14. 01:23

compose.yaml

docker compose 컴포넌트를 통해 여러개의 도커 컨테이너(이미지)를 한번에 관리할 수 있다.

설정 파일명은 여러가지를 인식 하기는 하지만 공식문서에 가장 앞에 있는 "compose.yaml" 로 작성하는것이 좋을 듯 하다.

[ compose.yaml compose.yml docker-compose.yaml docker-compose.yml compose.yaml ]

 

설정값이 너무 많아서 다 확인하지 못하고, 필요한 것만 검색해서 사용하였다.

 

# services : 서비스 정의

    # container_name : 사용할 컨테이너 명

    # image : 사용할 이미지

    # ports : 포트매핑 <OS 포트> : <컨테이너 내부 포트>

    # networks: 사용할 네트워크

    # volumes : 마운트 정의 <OS 디렉토리> : <컨테이너 내부 디렉토리>

    # environment : 환경 설정

    # command : 컨테이너 이미지의 Dockerfile에 정의한 내용중 CMD 를 재정의 

# networks : 네트워크 정의

 

공식 문서 : https://docs.docker.com/compose/compose-file/02-model/

 

Compose application model

 

docs.docker.com

 

++ compose.yaml example

더보기
version: '3'
services:
  myloa_nginx:
    container_name: "myloa_nginx"
    image: myloaproject-myloa_nginx
    ports:
      - "443:443"
    networks:
      - innerNet
    volumes:
      - ./var/nginx/log:/var/log/nginx:rw
      - ./var/ca:/var/ca:ro
    environment:
      - TZ=Asia/Seoul
    depends_on:
      - myloa_apiserver
      - myloa_react

  myloa_apiserver:
    container_name: "myloa_apiserver"
    image: myloaproject-myloa_apiserver
    ports:
      - "2087:2087"
    networks:
      - innerNet
    volumes:
      - ./var/apiserver/logs:/app/apiserver/logs:rw
    environment:
      - TZ=Asia/Seoul
      - NODE_ENV=production
    command: pm2-runtime start myloaService.config.js env_production
  
  myloa_react:
    container_name: "myloa_react"
    image: myloaproject-myloa_react
    ports:
      - "3000:3000"
    networks:
      - innerNet
    environment:
      - TZ=Asia/Seoul
    command: serve -l 3000 -s build
    
networks:
  innerNet:
    driver: bridge

'docker' 카테고리의 다른 글

.dockerignore  (0) 2023.05.14
Dockerfile  (1) 2023.05.14
docker Image 배포  (0) 2023.05.06
Comments