2016-01-29 90 views
1

我有一個WP-CLI容器,我必須運行下面的命令:使用容器環境變量,而不使用bash -c

wp --allow-root core config --dbname=$MYSQL_DATABASE --dbuser=$MYSQL_USER --dbpass=$MYSQL_PASSWORD --dbhost=$WP_CLI_MYSQL_HOST --debug

當我在裏面容器慶典跑,我有沒有問題,但是當我嘗試這樣做:

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命令來運行。

回答

2

只是逃避$使他們獲得通過的容器通過:

docker-compose run --rm wordpress-cli --rm core config --dbname=\$MYSQL_DATABASE --dbuser=\$MYSQL_USER ... 
+0

試了一下,沒有工作,容器中運行「$ MYSQL_DATABASE」作爲一個字符串,美元符號沒有內部容器 – IAmJulianAcosta

+1

工作你仍然必須使用bash來解釋這些變量。在這種情況下,沒有辦法運行'bash -c'。 – dnephin