【发布时间】:2019-06-13 14:11:30
【问题描述】:
我想在主机网络中使用 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 来缩放容器。但是来自documentation 的 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
【问题讨论】:
-
你在使用 docker swarm 吗?你是如何部署的?
docker-compose up还是docker stack deploy?根据这一点,您当前的撰写文件可能有几个错误。 -
目前我使用的是 swarm。但是当我使用 docker-compose up 时也会返回
services.web.build contains unsupported option: 'network' -
Swarm 和 compose 部署非常不同,并且您的 yml 文件在两种模式下大多无效,因为您混合了两种模式的选项。请说明您打算使用哪种部署方法,以便获得正确的答案(并添加 docker-swarm 标签并删除 docker-compose 一个,具体取决于您想要的答案)
-
感谢您的澄清。我想使用 compose 部署并将其添加到问题中
标签: docker docker-compose