使用docker设置新的Laravel安装,这是docker-compose.yml文件:
version: '2'
services:
web:
image: nginx
restart: always
links:
- "fpm"
volumes:
- ./build/volumes/nginx/conf.d:/etc/nginx/conf.d:ro
volumes_from:
- fpm
ports:
- 8080:80
mysql:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: "[OMMITTED]"
MYSQL_DATABASE: "[OMMITTED]"
MYSQL_USER: "[OMMITTED]"
MYSQL_PASSWORD: "[OMMITTED]"
fpm:
build:
context: .
volumes:
- .:/var/www
docker-compose up -d
工作正常,我可以在http://localhost:8080/看到Web服务器,但是当尝试与数据库建立任何类型的连接时,我收到PDO::__construct(): php_network_getaddresses: getaddrinfo failed: nodename nor servname provided, or not known
错误消息。
我的.env文件包含以下内容(DB_HOST是容器名称):
DB_CONNECTION=mysql
DB_HOST=container_mysql_1
DB_PORT=3306
DB_DATABASE=[OMMITTED]
DB_USERNAME=[OMMITTED]
DB_PASSWORD=[OMMITTED]
尝试使用localhost作为DB_HOST,然后返回Access denied for user
错误,我检查了详细信息是否正确。我假设码头工人的容器没有互相交谈?
答案 0 :(得分:2)
你错过了码头链接:
fpm:
build:
context: .
volumes:
- .:/var/www
links:
- mysql:mysql