我想将 docker compose 与主机网络一起使用。
我有一个访问本地 REST api 的 docker 容器。通常我跑
docker run --net=host -p 18080:8080 -t -i containera
它可以访问在 http://127.0.0.1:8080
上运行的主机 REST api。由于我想缩放容器 containera
我发现 docker compose 来缩放容器。但是文档中的 docker compose 文件 不起作用。 docker 容器不查询 REST API。
我尝试了以下撰写文件,但属性
version: "3"
services:
web:
image: conatinera:latest
network_mode: "host"
deploy:
replicas: 1
resources:
limits:
cpus: "0.5"
memory: 4G
restart_policy:
condition: on-failure
ports:
- "18080:8080"
但属性 network_mode
被忽略/不允许。与消息
Ignoring unsupported options: network_mode
原文由 A.Dumas 发布,翻译遵循 CC BY-SA 4.0 许可协议
docker-compose v3 的等效配置使用
network_mode
键: https ://docs.docker.com/compose/compose-file/compose-file-v3/#network_mode您应该在
network_mode
中将 --- 设置为"host"
docker-compose.yml
。如果使用 docker swarm,请参阅 codestation 的答案。