[英]php cannot connect to mysql in docker-compose
这是我的docker-compose
version: '2' services: nginx: image: nginx:1.11.8-alpine ports: - "8081:80" volumes: - ./code:/usr/share/nginx/html - ./html:/myapp - ./site.conf:/etc/nginx/conf.d/site.conf - ./default.conf:/etc/nginx/conf.d/default.conf - ./error.log:/var/log/nginx/error.log - ./nginx.conf:/etc/nginx/nginx.conf links: - phpfpm phpfpm: image: php7-fpm:latest ports: - "9000:9000" volumes: - ./code:/usr/share/nginx/html links: - db_mysql db_mysql: image: mysql:5.7.17 volumes: - db_data:/var/lib/mysql # restart: no ports: - "3306:3306" environment: MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: wp2017 MYSQL_USER: wp MYSQL_PASSWORD: wp2017 volumes: db_data:
这是我如何构建自己的php7-fpm:lastest
FROM php:7.1-fpm-alpine
RUN docker-php-ext-install mysqli
我无法连接到mysql容器
$serverName = 'localhost';
$userName = 'wp';
$password = 'wp2017';
$dbName = 'wp2017';
$link = mysqli_connect($serverName, $userName, $password, $dbName);
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
我总是得到错误:“警告:mysqli_connect():( HY000 / 2002):第8行/usr/share/nginx/html/db.php中没有这样的文件或目录连接失败:没有这样的文件或目录”
我在哪里运行命令sudo netstat -tulpn | grep:3306
我得到这个tcp6 0 0 ::: 3306 ::: * LISTEN 15362 / docker-proxy
请帮忙 !
更改PHP脚本
$serverName = 'db_mysql';
它会工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.