【问题标题】:WordPress deployment using docker-compose yaml - error establishing database使用 docker-compose yaml 部署 WordPress - 建立数据库时出错
【发布时间】:2021-08-29 17:47:44
【问题描述】:

我正在处理一个学校项目,但无法解决这个问题。我创建了一个 docker-compose yaml 文件来构建一个 WordPress 容器和设置。在我运行“docker-compose up -d”之后,一切似乎都运行良好。我遇到的问题是,打开 WP 页面时,出现“建立数据库连接时出错”

这是我的 docker-compose.yml 文件。谢谢。

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:
       - "8000:80"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: wordpress
       WORDPRESS_DB_NAME: wordpress
volumes:
    db_data: {}

【问题讨论】:

  • 你能分享 WP 的配置文件吗?配置数据库连接的位置。从数据库中隐藏或删除您的密码!见wp-config.php
  • 请提供足够的代码,以便其他人更好地理解或重现问题。

标签: wordpress docker-compose yaml


【解决方案1】:

确保 db 服务环境变量与 wp-config.php 中定义的数据库信息匹配。

/** The name of the database for WordPress */
define( 'DB_NAME', 'wordpress' );
/** MySQL database username */
define( 'DB_USER', 'wordpress' );
/** MySQL database password */
define( 'DB_PASSWORD', 'wordpress' );
/** MySQL hostname */
define( 'DB_HOST', 'db' );

您可以通过 bashing 到 wordpress 容器并 ping 数据库容器来测试 wordpress 容器是否可以访问数据库:

$ docker-compose exec wordpress bash
$ apt-get -y install iputils-ping && ping db

【讨论】:

    猜你喜欢
    • 2019-04-28
    • 2020-06-07
    • 1970-01-01
    • 2018-05-16
    • 2013-12-18
    • 1970-01-01
    • 2021-05-28
    • 1970-01-01
    • 2015-08-11
    相关资源
    最近更新 更多