docker-compose定义network、port、extra_hosts
1. networks 配置(默认bridge)
- 定义容器的网络连接方式:
1
2
3
4
5
6
7
8
9
10services:
web:
networks:
- frontend
- backend
networks:
frontend:
driver: bridge
backend:
driver: bridge
network_mode: host/bridge 默认bridge
2. ports 绑定到特定主机 IP
- 将容器端口绑定到宿主机的特定 IP:
1
2
3
4services:
web:
ports:
- "127.0.0.1:8080:80" # 仅监听本地回环地址
3. extra_hosts
- 添加自定义主机名到 IP 的映射:
1
2
3
4services:
web:
extra_hosts:
- "myhost:192.168.1.100"
可能混淆的术语
- **
expose**:声明容器暴露的端口(不发布到宿主机)。 - **
network_mode**:设置容器的网络模式(如host、bridge)