【发布时间】:2019-04-25 14:24:36
【问题描述】:
我的 dockerized 应用需要访问 localhost 网络上的某些内容,如果没有 network_mode: "host",这是不可能的
version: '3.4'
services:
app:
network_mode: "host"
image: node:latest
volumes:
- .:/usr/app
- node_modules:/usr/app/node_modules
working_dir: /usr/app
ports:
- 3000:3000
volumes:
node_modules:
如果我注释掉 network_mode: "host",我的应用程序在 http://localhost:3000 上运行良好。如果我重新添加它,它仍然可以运行,但在 http://localhost:3000 上不再可访问。
编辑:我刚刚在 Ubuntu 上测试了一个 hello world,它可以工作,但不能在 mac 上工作,mac 似乎不适用于 network_mode: "host"
【问题讨论】:
-
localhost:3000 还是 404
-
您是从同一台机器还是不同机器访问该 URL?
-
同一台机器,在我的本地 Mac 上。我知道端口 3000 正在 docker 内部监听,因为我可以从 docker exec 卷曲,但不能从 docker 外部卷曲
-
添加 docker-composw ps 的输出
-
repo 内没有 dockerfile。没有 docker 文件上下文:.这是没有用的
标签: docker docker-compose