【发布时间】: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_dbping ? -
我安装了 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然后重启容器。