wordpress容器无法连接到mariadb容器

这是我的Docker撰写文件:

version: '2' services: wordpress: image: wordpress environment: WORDPRESS_DB_HOST: db WORDPRESS_DB_USER: root WORDPRESS_DB_PASSWORD: ***** WORDPRESS_DB_NAME: wordpress links: - db:mysql ports: - 8000:80 #network_mode: "none" restart: always db: image: mariadb environment: MYSQL_ROOT_PASSWORD: ***** MYSQL_DATABASE: wordpress MYSQL_USER: root MYSQL_PASSWORD: ***** ports: - 8001:3306 volumes: - ./configs/etc/mysql/my.cnf:/etc/mysql/my.cnf restart: always 

这是我在docker日志中得到的错误:

 Warning: mysqli::mysqli(): (HY000/2002): Connection refused in - on line 10 

第10行是“链接”之一。

我的头版也出现了502错误的网关错误(我在主机操作系统中将Nginx作为代理安装,将端口80转发到8000)

请注意,nginx代理访问日志全部以302而不是502返回。

Ps:我正在使用官方的Docker镜像

您不需要公开打开MariaDB端口,只需将端口3306暴露给其他容器。

所以在db中replace:

 ports: - 8001:3306 

有:

 expose: - "3306" 

我相信Wordpress中的默认数据库端口是3306,这也是MariaDB中的默认端口。