对于一个小项目,我希望 docker 容器中的应用程序连接到计算机的本地主机。此问题的答案:From inside of a Docker container, how do I connect to the localhost of the machine?告诉我首选方法是在 docker run 命令中使用 --net="host"
。
我使用撰写文件来启动容器。和this question告诉我 net
选项已重命名为 network_mode: "host"
。
这是撰写文件的开头
version: '3.6'
services:
shiny:
image: paulrougieux/eutradeflows
deploy:
restart_policy:
condition: on-failure
network_mode: "host"
ports:
- "3838:3838"
当我启动这个文件时
sudo docker stack deploy -c stackshiny.yml shiny
我收到错误:
Ignoring unsupported options: network_mode
获取信息
$ sudo docker version
Client:
Version: 18.04.0-ce
Server:
Engine:
Version: 18.04.0-ce
如何从 Docker 容器启用到主机上数据库的连接?
最佳答案
如 docs for docker-compose file network_mode 中所述:
Notes This option is ignored when deploying a stack in swarm mode with a (version 3) Compose file. network_mode: "host" cannot be mixed with links.
使用docker stack deploy
在docker swarm上部署时无法使用network_mode
。这在 18.04 版本中并不是新的,而是相当旧的。
当使用 docker-compose up
在本地计算机上部署容器时,network_mode
只能与 docker-compose 一起使用。
关于Docker 版本 18.04.0-ce 忽略不支持的选项 : network_mode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50039487/