首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Dokcer Compose - MYSQL和WORPRESS: MySQL连接错误:

Dokcer Compose - MYSQL和WORPRESS: MySQL连接错误:
EN

Stack Overflow用户
提问于 2020-10-15 11:36:24
回答 1查看 27关注 0票数 0

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

代码语言:javascript
复制
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“时,它就可以工作了。这里我漏掉了什么?它在这里只适用于这个值。有什么想法吗?

代码语言:javascript
复制
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: 
EN

回答 1

Stack Overflow用户

发布于 2020-10-15 15:39:10

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

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

另外,我想指出的是,当启动时,wordpress会记录多个"MySQL连接错误“错误,直到数据库准备就绪。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64364495

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档