网络通讯
bridge 模式
默认networks
使用此模式,在docker-compose
里定义networks
,services
下绑定即可:
networks:
n1:
n2:
services:
s1:
networks:
-n1
s2:
networks:
-n2
s3:
networks:
-n1
-n2
其中,s3 可以和 s1 及 s2 互通, s1 和 s2 通讯隔离
host 模式
services:
s1:
network_mode: "host"
s2:
post:
- "80:80"
其中,s2 监听主机 80 端口,s1 共用主机所有端口(只有linux
下有效果)
windows 环境下,容器和宿主机通讯
比如宿主机有个网站:http://localhost:8000
,有个nginx
容器,希望通过域名home.test.local
访问
使用host.docker.internal
替代nginx
中的ip
server {
listen 80;
server_name home.test.local;
location / {
# proxy_pass http://localhost:8000;
proxy_pass http://host.docker.internal:8000;
}
}
推荐文章: