Docker – php_network_getaddresses错误,当试图连接到数据库

使用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服务器,但是当试图做任何types的连接到数据库,我得到一个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] 

试图使用本地主机作为DB_HOST然而,它回来的Access denied for user错误,我已经检查,细节是正确的。 我假设docker集装箱不互相交谈?

你错过了docker链接:

 fpm: build: context: . volumes: - .:/var/www links: - mysql:mysql