【问题标题】:Dokcer Compose - MYSQL and WORPRESS: MySQL Connection Error: [closed]Docker Compose - MYSQL 和 WORDPRESS:MySQL 连接错误:[关闭]
【发布时间】:2020-10-15 03:36:23
【问题描述】:

我只是无法理解 MYSQL 和 WORPRESS 之间的连接行为。我想,变量 WORDPRESS_DB_PASSWORD 和 MYSQL_PASSWORD 的值应该是匹配的。使用以下 yaml 运行 docker-compose 时出现连接错误(wordpress_db_password 和 mysql_password 的值相同):

version:  '3.3'
services: 
    mysql_database: 
        image: mysql:latest
        volumes: 
            - mysql_database_volume:/var/lib/mysql
        restart: always
        environment:
            MYSQL_ROOT_PASSWORD: root_password
            MYSQL_DATABASE: wordpress_database
            MYSQL_USER: wordpressuser
            MYSQL_PASSWORD: somepassword
    wordpress: 
        depends_on:
            - mysql_database
        image: wordpress:latest
        ports: 
            - "8080:80"
        restart: always
        environment:
            WORDPRESS_DB_HOST: mysql_database:3306 
            WORDPRESS_DB_USER: wordpressuser
            WORDPRESS_DB_PASSWORD: somepassword
volumes: 
    mysql_database_volume: 

但是当我将 wordpress_db_password 的值更改为“wordpress”时,它会起作用。我在这里想念什么?它只适用于这个值。有什么想法吗?

version:  '3.3'
services: 
    mysql_database: 
        image: mysql:latest
        volumes: 
            - mysql_database_volume:/var/lib/mysql
        restart: always
        environment:
            MYSQL_ROOT_PASSWORD: root_password
            MYSQL_DATABASE: wordpress_database
            MYSQL_USER: wordpressuser
            MYSQL_PASSWORD: somepassword
    wordpress: 
        depends_on:
            - mysql_database
        image: wordpress:latest
        ports: 
            - "8080:80"
        restart: always
        environment:
            WORDPRESS_DB_HOST: mysql_database:3306 
            WORDPRESS_DB_USER: wordpressuser
            WORDPRESS_DB_PASSWORD: wordpress
volumes: 
    mysql_database_volume: 

【问题讨论】:

标签: docker docker-compose dockerfile containers


【解决方案1】:

你的第二个例子对我不起作用。但是我拿了你的第一个例子并添加了一个 wordpress environment 变量 WORDPRESS_DB_NAME: wordpress_database 并且它有效。 Wordpress 只是没有数据库名称。作为参考,我查看了Quickstart: Compose and WordPress Docker 文档。

如果您仍然遇到问题,请尝试停止并删除您的容器并删除卷。您可以使用docker ps -adocker stop /ID/ && docker rm /ID/ 获取容器ID。对于卷 ID docker volume ls,然后是 docker volume rm /ID/

另外,我想指出,在启动时,wordpress 会记录多个“MySQL 连接错误”错误,直到数据库准备好。

【讨论】:

    猜你喜欢
    • 2021-07-23
    • 2021-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-31
    • 2018-04-30
    • 2023-02-12
    • 2021-02-17
    相关资源
    最近更新 更多