我有一个docker-compose,我在这里拿起两个容器,一个装有mariadb,一个装有wordpress。
问题
我收到连接失败,显然用户丢失了,无法执行身份验证。
wp-mysql | 2019-08-09 13:21:16 18 [警告]与数据库的连接18中止:>'unconnected'用户:'unauthenticated'主机:'172.31.0.3'(此连接>未经身份验证通常关闭)
情况
当我访问http://本地主机:8010时,wordpress服务可用,但是连接到数据库时出错。
docker-compose.yml ...
version: '3'
services:
db:
container_name: wp-mysql
image: mariadb
volumes:
- $PWD/data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: 12345678
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
ports:
- "3307:3306"
networks:
- my_net
restart: on-failure
wp:
depends_on:
- db
container_name: wp-web
volumes:
- "$PWD/html:/var/www/html"
image: wordpress
ports:
- "8010:80"
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
networks:
- my_net
networks:
my_net:
错误:
wp-mysql | 2019-08-09 13:21:16 18 [警告]与数据库的连接18中止:>'unconnected'用户:'unauthenticated'主机:'172.31.0.3'(此连接>未经身份验证通常关闭)
配置错误在哪里?
为什么wordpress容器不能使用在mariadb容器环境中创建的用户?
答案 0 :(得分:6)
这可能是由于意外关闭导致数据库文件损坏导致的,您可以删除数据库卷
警告:此操作将删除您的所有数据库数据
您可以使用docker-compose down -v
删除卷,然后执行docker-compose up -d
将其调出
对于您而言,您没有使用卷来存储数据库数据,可以删除数据并重试
rm -rf $ PWD /数据
答案 1 :(得分:2)
最终解决它。
在用户@JackNavaRow的帮助下,解决方案问世了。
这就像重新启动系统并删除卷一样简单。
拿起容器,一切正常。
我把它留在这里,以防有人遇到这个问题,不会再转弯。