MYSQL_ROOT_PASSWORD_FILE 正在读取“/run/secrets/mypassword”作为密码而不是路径

MYSQL_ROOT_PASSWORD_FILE is reading '/run/secrets/mypassword' as the password not the path

它假设将其视为一条路径。但它认为“/run/secrets/mypassword”是实际密码。 “_FILE”已被使用。

我试过给它''。还是不行

当我转到/run/secrets/mypassword时,我可以看到秘密文件,文件里面是正确的密码。

下面是我的docker-compose.yml.Anyone可以给点建议吗?非常感谢

version: '3.1'
services:
    mariadb:
        image: 'mariadb:10.6'
        working_dir: /application2
        volumes:
            - '.:/application2'
            - db1:/var/lib/mysql
        environment:
            MYSQL_ROOT_PASSWORD_FILE : /run/secrets/mypassword
            MYSQL_DATABASE: db1
            MYSQL_USER: user1
            MYSQL_PASSWORD_FILE : /run/secrets/mypassword2
        secrets:
            - mypassword
            - mypassword2
        ports:
            - '21003:3306'
        networks:
            - app2
secrets:
    mypassword:
        file: mypassword.txt
    mypassword2:
        file: mypassword2.txt

请注意,仅当容器启动时不存在数据库时才使用环境变量。您将卷映射到 /var/lib/mysql,因此很可能您已经有一个数据库,然后它将使用其中定义的密码。

尝试删除卷映射,看看它是否有效。