【发布时间】:2019-07-26 17:40:48
【问题描述】:
这是我的 docker-compose.yml 文件:
# ./docker-compose.yml
version: '3'
services:
db:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: xxx
MYSQL_DATABASE: test_db
MYSQL_USER: abc
MYSQL_PASSWORD: xyz
ports:
- "9906:3306"
web:
build:
context: .
dockerfile: Dockerfile
image: php:7.2.2-apache
container_name: php_web
depends_on:
- db
volumes:
- ./php/:/var/www/html/
ports:
- "8100:80"
stdin_open: true
tty: true
然后我运行docker-compose up --build 并访问http://localhost:8100,我得到来自mysqli 的连接被拒绝错误。
$mysqli->connect('db', 'abc', 'xyz', 'test_db', 9906);
【问题讨论】:
-
在你的 PHP 中,
9906应该是3306吗?... 'db', 'abc', 'xyz', 'test_db', 9906。测试了您的 .yml 并使用3306或 blank 为我工作。
标签: php mysql docker mysqli docker-compose