在Docker运行中使用容器环境variables,而不使用bash -c
我有一个WP-CLI容器,我必须运行以下命令:
wp --allow-root core config --dbname=$MYSQL_DATABASE --dbuser=$MYSQL_USER --dbpass=$MYSQL_PASSWORD --dbhost=$WP_CLI_MYSQL_HOST --debug
当我在容器中运行bash时,我没有问题,但是当我尝试去做:
docker-compose run --rm wordpress-cli --rm core config --dbname=$MYSQL_DATABASE --dbuser=$MYSQL_USER --dbpass=$MYSQL_PASSWORD --dbhost=$WP_CLI_MYSQL_HOST --allow-root --debug
所有环境variables都在主机中而不是容器中进行评估,所以它们被空的传递给容器。
我在这个问题中发现,使用bash -c 'my command'
将做的伎俩,但我的ENTRYPOINT
是WP命令,所以我想只运行而不使用bash
命令。
只是逃避$
所以他们通过到容器:
docker-compose run --rm wordpress-cli --rm core config --dbname=\$MYSQL_DATABASE --dbuser=\$MYSQL_USER ...
- 如何在Dockerfile中设置ENVvariables.txt文件中的内容?
- PHP-docker容器中的环境variables
- Docker环境variables作为计算的参数
- 如何使用Vagrant Docker提供程序的env属性?
- 将可发送的环境variables传递给Docker
- docker-compose无法从SOME.env文件中检索variables
- 使用sudo运行docker-compose时,在docker-compose.yml文件中进行variablesreplace
- 在docker-compose.yml文件中获取或设置envvariables
- 从链接dockers重命名环境variables