我有一个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
所有环境变量都在主机而不是容器中进行评估,因此它们将空传递给容器。
我在this question中发现,使用bash -c 'my command'
可以解决问题,但我的ENTRYPOINT
是WP命令,所以我想在不使用bash
的情况下运行命令。
答案 0 :(得分:2)
逃离$
,以便它们传递到容器:
docker-compose run --rm wordpress-cli --rm core config --dbname=\$MYSQL_DATABASE --dbuser=\$MYSQL_USER ...