简体   繁体   English

如何在docker中运行的wordpress和mysql中解决“建立数据库连接时出错”

[英]How to solve “Error establishing a database connection” with wordpress and mysql running in docker

I'm trying to run wordpress and mysql on a ubuntu server, both running in docker and ran via docker-compose. 我试图在ubuntu服务器上运行wordpress和mysql,它们都在docker中运行并通过docker-compose运行。

Everything works locally, but when I moved the files to a Ubuntu server, I'm now getting "Error establishing a database connection". 一切都在本地运行,但是当我将文件移动到Ubuntu服务器时,我现在收到“建立数据库连接时出错”。

I run docker-compose up -d to run the following docker-compose file: 我运行docker-compose up -d来运行以下docker-compose文件:

version: '3.3'

services:
   db:
     image: mysql:5.7
     volumes:
       - db_data:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: somewordpress
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: wordpress
   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     ports:
       - "80:80"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: wordpress
       WORDPRESS_DB_NAME: wordpress
       WORDPRESS_CONFIG_EXTRA: |
        define('WP_ALLOW_MULTISITE', true );
        define('MULTISITE', true);
        define('SUBDOMAIN_INSTALL', false);
        define('DOMAIN_CURRENT_SITE', 'example.com');
        define('PATH_CURRENT_SITE', '/site/');
        define('SITE_ID_CURRENT_SITE', 1);
        define('BLOG_ID_CURRENT_SITE', 1);
        define( 'WP_SITEURL', 'http://example.com/wordpress' );
        define( 'WP_HOME', 'http://example.com' );
volumes:
    db_data: {}

Reference to how I came to this compose structure: https://docs.docker.com/compose/wordpress/ 关于我如何进入此撰写结构的参考: https : //docs.docker.com/compose/wordpress/

docker logs shows: WordPress database error Table 'wordpress.wp_blogs' doesn't exist for query SELECT wp_blogs.blog_id FROM wp_blogs docker logs显示: WordPress database error Table 'wordpress.wp_blogs' doesn't exist for query SELECT wp_blogs.blog_id FROM wp_blogs

How can I solve this issue so that the wordpress container is aware of the mysql docker container? 如何解决此问题,以使wordpress容器知道mysql docker容器?

There are 2 spaces after 后面有2个空格

WORDPRESS_DB_HOST: WORDPRESS_DB_HOST:

尝试指定自定义网络,您将在此处找到解决方案Docker自定义网络

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM