【发布时间】:2020-03-12 08:52:48
【问题描述】:
我真的厌倦了这个。我已经尝试了所有可能的解决方案,但它仍然拒绝连接。
这是我的 docker-compose 文件:
version: '3'
services:
# Database
db:
image: mysql:5.7
container_name: db
restart: always
env_file: .env
environment:
- MYSQL_ROOT_HOST=%
- MYSQL_ROOT_PASSWORD=root
- MYSQL_DATABASE=$MYSQL_DATABASE
- MYSQL_USER=$MYSQL_USER
- MYSQL_PASSWORD=$MYSQL_PASSWORD
networks:
- backend
# Wordpress
wp:
depends_on:
- db
image: wordpress:php7.3-fpm
container_name: wordpress
restart: always
env_file: .env
environment:
- WORDPRESS_DB_HOST=db:3306
- WORDPRESS_DB_USER=$MYSQL_USER
- WORDPRESS_DB_PASSWORD=$MYSQL_PASSWORD
- WORDPRESS_DB_NAME=$MYSQL_DATABASE
volumes:
- ./wordpress:/var/www/html
networks:
- backend
# Nginx
nginx:
depends_on:
- wp
image: nginx
restart: always
ports:
- "80:80"
volumes:
- ./wordpress:/var/www/html
- ./nginx-conf:/etc/nginx/conf.d
networks:
- backend
networks:
backend:
driver: bridge
我试过 127.0.0.1, 0.0.0.0, db, docker inspect db 来获取容器的 IP 地址。他们都无法连接。我使用过 Sequel Pro、MySQL Workbench 和 DataGrip。
设置完全正常。只是我无法连接到容器外的数据库。
我什至检查了容器中的mysql主机权限并得到:
% root
% wordpress (name of the user I created)
...
我错过了什么吗?
【问题讨论】:
标签: mysql wordpress docker nginx docker-compose