与docker的连接错误mariadb + wordpress

时间:2019-08-09 13:44:05

标签: docker docker-compose

我有一个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容器环境中创建的用户?

2 个答案:

答案 0 :(得分:6)

这可能是由于意外关闭导致数据库文件损坏导致的,您可以删除数据库卷

警告:此操作将删除您的所有数据库数据

您可以使用docker-compose down -v删除卷,然后执行docker-compose up -d将其调出

对于您而言,您没有使用卷来存储数据库数据,可以删除数据并重试

rm -rf $ PWD /数据

答案 1 :(得分:2)

最终解决它。

在用户@JackNavaRow的帮助下,解决方案问世了。

这就像重新启动系统并删除卷一样简单。

拿起容器,一切正常。

我把它留在这里,以防有人遇到这个问题,不会再转弯。