Docker - docker-compose에 변수 제공

Docker - docker-compose에 변수 제공

docker-compose.yml이 있습니다.

php-fpm:
    build: ./php
    container_name: php-fpm-symfony
    links:
        - db
    ports:
        - 9000:9000
        - 8000:8000
    working_dir: /var/www/html/
    volumes:
        - ../:/var/www/html
    volumes_from:
        - data
    tty: true
    env_file:
        - ./docker.env
    entrypoint: /entrypoint.sh

실행할 때 docker-compose up -d매개변수(예: 컨테이너 이름)를 전달하여 컨테이너 이름을 동적으로 지정하고 싶습니다.

docker-compose를 사용하여 구현할 수 있나요?

예를 들어:

docker-compose up -d "-variable=symfony" // ???

그리고:

php-fpm:
    build: ./php
    container_name: php-fpm-$(variable)

이런 식으로 작동하는 것 ...

답변1

YAML에서 가능한 모든 선택 사항을 정의하고 YAML 따옴표를 사용하여 자세한 내용을 줄일 수 있습니다.

default-container: &default-container
    build: ./php
    container_name: default
    links:
        - db
    ports:
        - 9000:9000
        - 8000:8000
    working_dir: /var/www/html/
    volumes:
        - ../:/var/www/html
    volumes_from:
        - data
    tty: true
    env_file:
        - ./docker.env
    entrypoint: /entrypoint.sh

php-fpm-symfony:
    <<: *default-container
    container_name: php-fpm-symfony

php-fpm-laravel:
    <<: *default-container
    container_name: php-fpm-laravel

인용하다:

https://en.wikipedia.org/wiki/YAML#References

https://stackoverflow.com/questions/4150782/using-yaml-with-variables

관련 정보