【问题标题】:wordpress docker cannot connect to mysql dockerwordpress docker无法连接到mysql docker
【发布时间】:2018-10-02 12:08:33
【问题描述】:

不确定我做错了什么,但我的 wordpress docker 只是没有连接到 mysql docker。有人可以帮我吗?

version: '2'
services: 
db:  
  image: mysql:8.0
  container_name: eve_db
  volumes:
    - ./database/data:/var/lib/mysql
    - ./database/initdb.d:/docker-entrypoint-initdb.d
  restart: always
  environment:
    MYSQL_ROOT_PASSWORD: skdjd           # any random string will do
    MYSQL_DATABASE: djdjd                # the name of your mysql database
    MYSQL_USER: djdjd                    # the name of the database user
    MYSQL_PASSWORD: djdjd                # the password of the mysql user
wordpress:
  depends_on:
    - db
  image: wordpress:php7.2                   # we're using the image with php7.1
  container_name: eve_de
  ports:
    - "8080:80"
  restart: always
  links:
    - db:mysql
  volumes:
    - ./src/wp:/var/www/html

我也定义了

define('DB_HOST', 'db:3306');

在 wp-config.php 文件中。但它没有用。

【问题讨论】:

  • 如果你登录到wordpress容器,你能ping通mysql容器吗?
  • 是的。它可以ping通。
  • 你使用ping eve_db ping ?
  • 我安装了 mysql-client 并尝试手动连接到数据库。它给出以下错误:root@def23e496b9a:/var/www/html# mysql -h eve_db -u djdjd -p Enter password: ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded: /usr/lib/x86_64- linux-gnu/mariadb18/plugin/caching_sha2_password.so:无法打开共享对象文件:没有这样的文件或目录
  • 在运行mysql的容器上,运行mysql_upgrade -u root -p然后重启容器。

标签: mysql wordpress docker


【解决方案1】:

主站点有 mysql v5.6.38。在 docker-compose.yml 中更改相同的内容解决了这个问题。

【讨论】: