mysql - Docker WordPress 镜像无法连接数据库

标签 mysql wordpress docker docker-compose

我的 Docker 镜像有问题。
我刚刚按照本教程获取自定义本地域:https://medium.com/@francoisromain/set-a-local-web-development-environment-with-custom-urls-and-https-3fbe91d2eaf0

这看起来效果很好。但现在我似乎无法连接到Mysql数据库。
我正在使用 WordPress 镜像,我的 docker-compose.yml 文件如下所示:

version: '3.3'
services:
  db:
    image: mysql:5.7
    restart: unless-stopped
    volumes:
      - db_data:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: p4ssw0rd!

  phpmyadmin:
    depends_on:
      - db
    image: phpmyadmin/phpmyadmin
    restart: always
    expose:
      - 80
    environment:
      VIRTUAL_HOST: phpmyadmin.local
      VIRTUAL_PORT: 80
      PMA_HOST: db
      MYSQL_ROOT_PASSWORD: p4ssw0rd!

  wordpress:
    depends_on:
      - db
    image: wordpress:latest
    restart: unless-stopped
    working_dir: /var/www/html
    volumes:
      - ./wp-content:/var/www/html/wp-content
    restart: always
    expose:
      - 80
    environment:
      VIRTUAL_HOST: domain.local
      VIRTUAL_PORT: 80
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_NAME: wp_name
      WORDPRESS_DB_USER: wp_user
      WORDPRESS_DB_PASSWORD: p4ssw0rd!
      WORDPRESS_TABLE_PREFIX: wp_
      WORDPRESS_DEBUG: 1

volumes:
    db_data: {}
networks:
  default:
    external:
      name: nginx-proxy

当我开始运行容器时,我收到的错误是这样的:

wordpress_error 现在我知道我的 WordPress 容器和代理正在工作(domain.local),但唯一缺少的是与数据库的连接。

我认为这与“网络”有关,他根本找不到数据库。但我不知道如何连接它。

希望你们中有人知道我做错了什么。 提前致谢。

最佳答案

好吧,我终于明白了。
WORDPRESS_DB_USER 应设置为:root

然后一切都会正常。

关于mysql - Docker WordPress 镜像无法连接数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59184279/

相关文章:

php - Laravel 5.4 有时会使用不同的数据库凭据

Mysql 按其他表的数据排序

wordpress 自定义帖子类型发帖时出错

php - WordPress:今天修改和发布的帖子数

gcc - 在docker gcc和java中制作2个卷

nginx - 允许Nginx读取docker.sock

php - 脚本显示进度 php

php - 将 'for loop' 值保存在数据库中

php - 如何使用 PhpStorm 在本地计算机上编辑和运行 WordPress 网站

heroku - 将Heroku流程类型部署到各个应用程序