我尝试使用以下指南来运行docker compose wordpress:https://docs.docker.com/compose/wordpress/
这是指南中所述的yaml文件:
version: '3.3'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: wordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
WORDPRESS_DEBUG: "true"
volumes:
db_data: {}
运行
"docker-compose up -d"
命令,我在浏览器中转到“ http://localhost:8000/”,并获得带有“建立数据库连接出错”的白页。根据指南,WordPress现在应该已经显示了5分钟的安装时间。当我使用wordpress debug true运行容器时,将显示此错误消息:
Warning: mysqli_real_connect(): (HY000/2002): Connection refused in /var/www/html/wp-includes/wp-db.php on line 1612
连接被拒绝
我现在使用
docker exec it container_id /bin/bash
,然后输入“ mysql -p”。现在,我使用了来自docker compose文件的MYSQL_ROOT_PASSWORD,但是我拒绝了访问(“拒绝访问用户'root'@'localhost'(使用密码:是)”)
我不确定我以前做过什么,但是在某些时候它可以工作,我列出了数据库和mysql.users以及db和user。
所以我什至不知道,这里的问题是什么...
为什么我不能再以root用户身份访问?有谁知道该怎么办?
编辑:将端口改回3306,我尝试3308只是为了看看这可能是端口问题
答案 0 :(得分:0)
我找到了另一个帖子,他们使用了这个Yaml。仍然不确定为什么会这样,但确实如此。
version: '3.3'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: wordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- 8000:80
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
volumes:
db_data: {}