Docker-compose未阅读环境变量(MYSQL_DATABASE_PASSWORD)

ou6hu8tu  于 2023-01-25  发布在  Docker
关注(0)|答案(2)|浏览(129)

我尝试使用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错误。

1hdlvixo

1hdlvixo1#

正如他们的doc所说,没有名为MYSQL_DATABASE_PASSWORD的变量。以下是可用的变量:当前,只有MYSQL根密码、MYSQL根主机、MYSQL数据库、MYSQL用户和MYSQL密码支持此功能。
或许我没明白你的问题。

gfttwv5a

gfttwv5a2#

通过谷歌遇到了这个问题。我有这个问题时,seeding a database per this answer
在@Siyavash提到的文档中(在"环境变量"下):
请注意,如果您使用已经包含数据库的数据目录启动容器,则以下变量都不会起任何作用:任何预先存在的数据库在容器启动时将始终保持不变。
因此,我使用的用户变量需要放在Dockerfile中,而不是docker-compose.yml中。

相关问题