我有一个从容器A到容器B的请求。
容器A ip是:172.24.0.35
容器B ip是:172.24.0.33
检查容器B上的请求,发送方IP为172.24.0.1。 为什么发送方IP来自172.24.0.1而不是容器A ip为172.24.0.35
我没有对网络进行任何更改。
这是容器A的撰写文件。
asterisk:
extends:
file: common.yml
service: asterisk
depends_on:
- base
ports:
- "5038:5038"
- "5060:5060/tcp"
- "5060:5060/udp"
- "16380-16420:16380-16420/udp"
volumes_from:
- base
volumes:
- /var/log/asterisk/
- /dev/shm/
- /dev/dahdi:/dev/dahdi
- ./etc/conf/asterisk:/etc/asterisk/:ro
networks:
default:
aliases:
- asterisk
容器B
asterisk-agent:
extends:
file: common.yml
service: asterisk-agent
depends_on:
- base
volumes_from:
- base
volumes:
- /var/log/asterisk/
- /dev/shm/
- /dev/dahdi:/dev/dahdi
- ./etc/conf/asterisk/agent/:/etc/asterisk/:ro
networks:
default:
aliases:
- asterisk-agent
答案 0 :(得分:0)
172.24.0.1
是在asterisk
网络的已创建网络接口上为主机提供的IP地址。
默认情况下,对于docker bridge network,如果进入容器并运行route
命令,则可以看到默认网关为172.24.0.1
,对应于网络上的主机IP接口。所以你在容器B中看到的是主机的ip,来自容器A的请求被路由到。