【发布时间】:2017-07-01 22:11:22
【问题描述】:
我正在尝试使用 docker (compose) 将 PHP 与 redis 连接
docker-compose.yml
version: '2'
services:
redis:
image: redis:3.2.2
php:
image: company/php:dev7
volumes:
- .:/var/www/
networks:
- net
links:
- redis
nginx:
image: company/nginx
volumes:
- .:/var/www/
- ./docker/nginx_conf:/etc/nginx/conf.d/
networks:
- net
ports:
- 80:80
networks:
net:
driver: bridge
这一切都很好,我可以运行 nginx 和 php。但是,当我尝试连接 Redit 时,它告诉我它无法获取地址信息:
致命错误:未捕获 Predis\Connection\ConnectionException: php_network_getaddresses: getaddrinfo failed: Name or service not known [tcp://redis:6379] in /var/www/htdocs/vendor/predis/predis/src/Connection/ AbstractConnection.php 第 155 行
这是我尝试连接的方式:
$client = new \Predis\Client([
'host' => 'redis',
]);
此外,当我查看 redis docker 容器并查看 /etc/hosts 时,没有 redis 主机名。至少我在这里期待它,因为我试图在 docker-compose.yml 中链接它。
我配置错了什么?
【问题讨论】:
标签: php nginx docker redis docker-compose