怎么让 docker 同时对两块网卡上不同的网段提供服务

282 天前
 SOSdanOffical

我用 docker 配置了一个容器,环境变量文件中写的 APP_URL 是192.168.30.78:8000,容器 80 端口映射宿主 8000 端口
现在我用 192.168.30.0 网段的主机可以访问192.168.30.78:8000获得服务
但是用同 192.168.11.0 网段的主机访问192.168.11.11:8000则无法获得服务,观察浏览器地址栏,url 会跳转到 192.168.30.78:8000 因而连接失败

我的诉求是这个容器在 30 和 11 两个网段中都能为同一网段的主机提供服务,我该怎么做呢?
如果可能的话,简单点比较好,能给一个大体的思路就行

978 次点击
所在节点    Docker
4 条回复
jifengg
281 天前
"docker 配置了一个容器,环境变量文件中写的 APP_URL 是 192.168.30.78:8000"

看样子网络没问题,那就从你这个“容器”的配置文件看,APP_URL 改成 “/”、“./”、“空”,试试。
另外,观察“url 会跳转到 192.168.30.78:8000”是 宿主机 8000 端口监听程序跳转的,还是你这个 app 跳转的
SOSdanOffical
281 天前
@jifengg 看起来留空好像是不行的
如果在环境变量文件中留空,会有如下提示(使用 localhost:8000 访问):

Uh oh! Snipe-IT thinks your URL is /setup, but your real URL is http://localhost:8000/setup Please update your APP_URL settings in your .env file

>观察“url 会跳转到 192.168.30.78:8000”是 宿主机 8000 端口监听程序跳转的,还是你这个 app 跳转的
这个我可能得研究一下再告诉您,谢谢哥
SOSdanOffical
281 天前
@jifengg 如果我把 APP_URL 改成 http://localhost:8000 ,提示则是这样的

Uh oh! Snipe-IT thinks your URL is http://localhost:8000/setup, but your real URL is http://192.168.2.26:8000/setup Please update your APP_URL settings in your .env file

这是在浏览器中使用 192.168.2.26:8000 访问的情况,如果使用宿主机直接开 localhost:8000 是一切正常的

阿对了,我现在在家了,所以网段不一样
FollowHYH
191 天前
可以在容器外设置一个转发

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1034715

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX