Docker-compose Predis not connection via PHP
我正在尝试使用docker(compose)将PHP与Redis连接起来
docker-compose.yml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | 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连接时,它告诉我它无法获取地址信息:
Fatal error: Uncaught 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 on line 155
这是我尝试连接的方式:
1 2 3 | $client = new \\Predis\\Client([ 'host' => 'redis', ]); |
此外,当我查看redis docker容器并查看/ etc / hosts时,没有redis主机名。至少我在这里期待它,因为我正在尝试将其链接到docker-compose.yml。
我怎么配置错误?
您忘记将Redis容器添加到
您可以更新docker-compose.yml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | version: '2' services: redis: image: redis:3.2.2 networks: - net php: image: company/php:dev7 volumes: - .:/var/www/ networks: - net nginx: image: company/nginx volumes: - .:/var/www/ - ./docker/nginx_conf:/etc/nginx/conf.d/ networks: - net ports: - 80:80 networks: net: driver: bridge |
此外,如果定义了
也2.您将永远不会在