我有一个 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