我在php-fpm容器中使用curl访问apache容器中绑定的域名时出现了报错:
cURL error 7: Failed to connect to b.local.com port 80: Connection refused (see https://curl.haxx.se/libcurl/c/libcurl-errors.html)
我在apache的容器中绑定了多个域名:
- a.local.com
- b.local.com
- c.local.com
a.local.com
在代码中使用CURL访问 b.local.com
时就出现了上面的错误。
docker-compose.yml
version: "3.7"
networks:
backend:
driver: bridge
services:
apache2:
build:
context: ./apache2
args:
- MY_PHP_VERSION=7.4
ports:
- "80:80"
- "443:443"
volumes:
- E:/projects:/var/www
- ./logs/apache2:/usr/local/apache2/logs
- ./apache2/sites:/usr/local/apache2/sites
- ./apache2/ssl:/usr/local/apache2/ssl
- ./apache2/httpd.conf:/usr/local/apache2/conf/httpd.conf
depends_on:
- php-fpm
networks:
- backend
environment:
TZ: Asia/Shanghai
php-fpm:
build:
context: ./php-fpm
args:
- MY_PHP_VERSION=7.4
ports:
- 9000:9000
expose:
- "9000"
volumes:
- ./php-fpm/php.ini/php7.4.ini:/usr/local/etc/php/php.ini
- ./php-fpm/php-fpm.conf/php7.4-fpm.conf:/usr/local/etc/php-fpm.conf
- ./logs/php-fpm:/usr/local/etc/php/logs
- E:/projects/:/var/www
networks:
- backend
environment:
TZ: Asia/Shanghai
楼主能不能靠点谱,自问自答一番,给了个链接就算了事,链接里其实也没准确讲清楚。
一 、在 docker 官网 compose 文档中的说明
(
https://docs.docker.com/compose/compose-file/#networks
)networks
字段用于指定服务容器所属网络;networks
可以指定alias
,即对应服务在该对应网络下的别名;二、举例
如下,以一个服务名为
some-service
举例,some-severce
属于网络some-network
,同网络下其他容器可以通过域名some-severce
、alias1
、alias3
访问它;服务
some-severce
也属于网络other-network
,同网络下其他容器可以通过域名some-severce
、alias2
访问它;