【发布时间】:2019-11-06 03:44:53
【问题描述】:
这是我的 docker-compose.yaml
version: "3.1"
services:
mysql:
image: mysql:8.0.13
container_name: project-mysql
volumes:
- ./docker/data/mysql:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: secret
MYSQL_DATABASE: db
MYSQL_USER: dbuser
MYSQL_PASSWORD: secret
ports:
- "3306:3306"
webserver:
image: nginx:alpine
container_name: project-webserver
working_dir: /var/www
volumes:
- .:/var/www
- ./docker/config/nginx/nginx.conf:/etc/nginx/conf.d/default.conf
ports:
- "8080:80"
php-fpm:
build: ./docker/config/php
container_name: project-php-fpm
working_dir: /var/www
volumes:
- .:/var/www
environment:
XDEBUG_CONFIG: remote_host=172.17.0.1
PHP_IDE_CONFIG: serverName=docker
问题是php容器无法连接mysql。
虽然从主机我可以连接到mycli -h 127.0.0.1 -P 3306 -u root。
但是当我在 php 容器中执行并尝试时,得到'连接被拒绝'
【问题讨论】:
-
您需要使用
docker-compose.yml服务名作为主机名,本例中为mysql。 Docker 中的localhost总是表示“这个容器”。
标签: php docker docker-compose