我尝试使用Portainer的默认WordPress模板在Synology NAS上构建一个小的WordPress堆栈,它直接声明了MYSQL_DATABASE_PASSWORD,但在运行时,我得到了以下代码:You need to specify one of MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD and MYSQL_RANDOM_ROOT_PASSWORD
我在FileRun的文档中使用默认的docker-compose.yml文件尝试了同样的方法,但即使这样也会抛出上述错误。
我已经尝试导出任何/所有这些环境变量,但发现发生相同的问题。
version: '2'
services:
db:
image: mariadb:10.1
environment:
MYSQL_ROOT_PASSWORD: your_mysql_root_password
MYSQL_USER: your_filerun_username
MYSQL_PASSWORD: your_filerun_password
MYSQL_DATABASE: your_filerun_database
volumes:
- /filerun/db:/var/lib/mysql
web:
image: afian/filerun
environment:
FR_DB_HOST: db
FR_DB_PORT: 3306
FR_DB_NAME: your_filerun_database
FR_DB_USER: your_filerun_username
FR_DB_PASS: your_filerun_password
APACHE_RUN_USER: www-data
APACHE_RUN_USER_ID: 33
APACHE_RUN_GROUP: www-data
APACHE_RUN_GROUP_ID: 33
depends_on:
- db
links:
- db:db
ports:
- "80:80"
volumes:
- /filerun/html:/var/www/html
- /filerun/user-files:/user-files
预期的结果是堆栈运行,特别是mariadb容器,实际发生的是容器重复死亡,并抛出You need to specify one of MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD and MYSQL_RANDOM_ROOT_PASSWORD
错误。
2条答案
按热度按时间1hdlvixo1#
正如他们的doc所说,没有名为MYSQL_DATABASE_PASSWORD的变量。以下是可用的变量:当前,只有MYSQL根密码、MYSQL根主机、MYSQL数据库、MYSQL用户和MYSQL密码支持此功能。
或许我没明白你的问题。
gfttwv5a2#
通过谷歌遇到了这个问题。我有这个问题时,seeding a database per this answer。
在@Siyavash提到的文档中(在"环境变量"下):
请注意,如果您使用已经包含数据库的数据目录启动容器,则以下变量都不会起任何作用:任何预先存在的数据库在容器启动时将始终保持不变。
因此,我使用的用户变量需要放在
Dockerfile
中,而不是docker-compose.yml
中。