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中的默认端口。