YAML 병합 키 <<로 Docker-compose 파일 길이 줄이기

6709 단어 docker
docker-compose 파일을 작성하는 경우 각 컨테이너 구성의 동일한 부분이 파일에서 계속해서 반복될 수 있습니다.

이 예를 들어 보겠습니다.

version: '3.7'

services:
  web:
    restart: always
    image: web
    environment:
    - ENVIRONMENT_NAME=local_dev
    - USING_DOCKER_COMPOSE=true
    - DJANGO_SETTINGS_MODULE=sms_mailer.settings
    - DJANGO_CONFIGURATION=Local
    - DJANGO_SECRET_KEY
    - DJANGO_ALLOWED_HOSTS
    - DJANGO_CORS_ORIGIN_WHITELIST
    build:
      context: ./
      dockerfile: Dockerfile
    ports:
      - "8000:8000"
    command: /code/run_web.sh

  task_runner:
    restart: always
    image: task_runner
    environment:
    - ENVIRONMENT_NAME=local_dev
    - USING_DOCKER_COMPOSE=true
    - DJANGO_SETTINGS_MODULE=sms_mailer.settings
    - DJANGO_CONFIGURATION=Local
    - DJANGO_SECRET_KEY
    - DJANGO_ALLOWED_HOSTS
    - DJANGO_CORS_ORIGIN_WHITELIST
    build:
      context: ./
      dockerfile: Dockerfile
    ports:
      - "5000:5000"
    command: /code/task_runner.sh   


docker-compose 파일에서 코드의 이 부분이 두 번 반복됩니다.

environment:
    - ENVIRONMENT_NAME=local_dev
    - USING_DOCKER_COMPOSE=true
    - DJANGO_SETTINGS_MODULE=sms_mailer.settings
    - DJANGO_CONFIGURATION=Local
    - DJANGO_SECRET_KEY
    - DJANGO_ALLOWED_HOSTS
    - DJANGO_CORS_ORIGIN_WHITELIST
  build:
    context: ./
    dockerfile: Dockerfile

<< YAML 키워드를 사용하여 이 파일을 약간 짧게 만들어 보겠습니다.

version: '3.7'

x-web-environment:
  &web-environment
  environment:
    - ENVIRONMENT_NAME=local_dev
    - USING_DOCKER_COMPOSE=true
    - DJANGO_SETTINGS_MODULE=sms_mailer.settings
    - DJANGO_CONFIGURATION=Local
    - DJANGO_SECRET_KEY
    - DJANGO_ALLOWED_HOSTS
    - DJANGO_CORS_ORIGIN_WHITELIST
  build:
    context: ./
    dockerfile: Dockerfile

services:
  web:
    <<: *web-environment
    restart: always
    image: web
    ports:
      - "8000:8000"
    command: /code/run_web.sh

  task_runner:
    <<: *web-environment
    restart: always
    image: task_runner
    ports:
      - "8001:8001"
    command: /code/run_task_runner.sh


그리고 방금 Docker Compose 파일을 최적화했습니다.🤟‍

bloggu.io을(를) 사용하여 게시된 기사. 무료로 사용해 보세요.

좋은 웹페이지 즐겨찾기