我有以下一行脚本:
sudo env WORDPRESS_MYSQL_ROOT_PASSWORD="passwd" \
WORDPRESS_MYSQL_USER="wordpress" \
WORDPRESS_MYSQL_PASSWORD="wordpress" \
WORDPRESS_ADMIN_USER="admin" \
WORDPRESS_ADMIN_PASSWORD="admin" \
WORDPRESS_URL="http://0.0.0.0:8080" \
docker run \
--volume "/home/pcmagas/Kwdikas/docker/piwik-with-wordpress/scripts/../data/wordpress/db":/var/lib/mysql \
--volume /home/pcmagas/Kwdikas/docker/piwik-with-wordpress/scripts/../restore/wordpress/db:/docker-entrypoint-initdb.d \
-e MYSQL_ROOT_PASSWORD=$WORDPRESS_MYSQL_ROOT_PASSWORD \
-e MYSQL_DATABASE="wordpress" \
-e MYSQL_USER=$WORDPRESS_MYSQL_USER \
-e MYSQL_PASSWORD=$WORDPRESS_MYSQL_PASSWORD \
mariadb但出于某种原因,我得到了一个错误:
错误:数据库未初始化且未指定密码选项,您需要指定MYSQL_ROOT_PASSWORD、MYSQL_ALLOW_EMPTY_PASSWORD和MYSQL_RANDOM_ROOT_PASSWORD之一
这意味着由于某种原因无法找到$WORDPRESS_MYSQL_ROOT_PASSWORD环境参数。为什么会这样呢?
发布于 2016-12-16 18:48:47
这是因为将变量设置为
env FOO=BAR cmd不使变量FOO可用于shell以在
-e MYSQL_USER=$FOO换句话说,它失败的原因与
FOO=BAR echo $FOO不输出BAR。shell在$FOO 调用echo之前展开echo。你知道这个主意吗?相反,你应该用一些东西
FOO=BAR; echo $FOOhttps://stackoverflow.com/questions/41188767
复制相似问题