找回密码
 立即注册
搜索
查看: 1944|回复: 20

[软件] 请教一下如何局域网直接访问docker网络

[复制链接]
发表于 2023-8-27 00:27 | 显示全部楼层 |阅读模式
网络结构大致是这样的
image.png

现在访问qbittorrent的话是通过192.168.3.3:端口来访问的,请教一下怎么设置能够通过10.0.3.10:端口来访问qbittorrent?
回复

使用道具 举报

头像被屏蔽
     
发表于 2023-8-27 00:30 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

头像被屏蔽
     
发表于 2023-8-27 00:34 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

 楼主| 发表于 2023-8-27 00:36 | 显示全部楼层
すぴぱら 发表于 2023-8-27 00:30
你的nas是192.168.3.3 那docker容器自然也是192.168.3.3,把容器的端**露出来,10.x.x那是虚拟网卡的地址 ...

有没有办法在openwrt添加设置,可以直接访问10.0.3.* ?比如添加虚拟网卡之类的
我在nas上ping 10.0.3.* 是通的,但是在笔记本上是ping不同的
回复

使用道具 举报

 楼主| 发表于 2023-8-27 00:38 | 显示全部楼层
FUZE 发表于 2023-8-27 00:34
看看你docker是用的什么网络模式
如果是网桥模式的话那么就是192.168.3.3:端口号
或者也可以给这个容器单 ...

用的是网桥,就是想让docker的网络在单独的网段
回复

使用道具 举报

     
发表于 2023-8-27 00:39 | 显示全部楼层
TKD53 发表于 2023-8-27 00:36
有没有办法在openwrt添加设置,可以直接访问10.0.3.* ?比如添加虚拟网卡之类的
我在nas上ping 10.0.3.*  ...

openwrt加条静态路由,目标地址10网段下一跳(op里面好像叫网关)指向3.3就行了
回复

使用道具 举报

头像被屏蔽
     
发表于 2023-8-27 00:41 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

 楼主| 发表于 2023-8-27 00:43 | 显示全部楼层
calvary 发表于 2023-8-27 00:39
openwrt加条静态路由,目标地址10网段下一跳(op里面好像叫网关)指向3.3就行了 ...

这样可能有点问题,比如docker两个容器
qbittorrent - 10.0.3.10
jellyfin - 10.0.3.11

只有给这两个容器设置不同的对外暴露端口,才可以用192.168.3.3访问,如果端口相同就不行了
回复

使用道具 举报

 楼主| 发表于 2023-8-27 00:46 | 显示全部楼层
すぴぱら 发表于 2023-8-27 00:41
docker-compose里面port配置端口映射 比如9000:80,就是把容器的80映射在主机的9000端口,后面访问容器就 ...

现在就是这么做的
我其实是想在openwrt添加静态host解析,比如访问域名`qbittorrent`和`jellyfin`就可以访问到对应的服务,而不需要用ip:port的方式访问
回复

使用道具 举报

     
发表于 2023-8-27 00:51 | 显示全部楼层
TKD53 发表于 2023-8-27 00:43
这样可能有点问题,比如docker两个容器
qbittorrent - 10.0.3.10
jellyfin - 10.0.3.11

直接访问10网段访问的是容器的原始端口,不是docker映射后的端口,不存在冲突问题
回复

使用道具 举报

发表于 2023-8-27 00:54 | 显示全部楼层
本帖最后由 2stage 于 2023-8-27 01:42 编辑
TKD53 发表于 2023-8-27 00:46
现在就是这么做的
我其实是想在openwrt添加静态host解析,比如访问域名`qbittorrent`和`jellyfin`就可以 ...

可以弄一个本地DNS 把qbit 这些解析到 ip:port。
编辑:经楼主提醒,dns 只能解析到 ip,不能添加端口。

—— 来自 S1Fun
回复

使用道具 举报

头像被屏蔽
     
发表于 2023-8-27 01:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

 楼主| 发表于 2023-8-27 01:02 | 显示全部楼层
calvary 发表于 2023-8-27 00:51
直接访问10网段访问的是容器的原始端口,不是docker映射后的端口,不存在冲突问题 ...

那如果我两个容器都设置对外暴露80端口的话,我该怎么分别访问这两个服务呢?
回复

使用道具 举报

     
发表于 2023-8-27 01:07 | 显示全部楼层
TKD53 发表于 2023-8-27 01:02
那如果我两个容器都设置对外暴露80端口的话,我该怎么分别访问这两个服务呢? ...

容器原始端口是80,那么访问端口也是80,跟你docker设置对外端口无关。
举个例子,你容器地址是10.0.3.10,原始端口是80,docker设置映射对外端口是8080,那么可以通过下面两种方式访问:
10.0.3.10:80
192.168.3.3:8080
回复

使用道具 举报

 楼主| 发表于 2023-8-27 01:16 | 显示全部楼层
calvary 发表于 2023-8-27 01:07
容器原始端口是80,那么访问端口也是80,跟你docker设置对外端口无关。
举个例子,你容器地址是10.0.3.10 ...

那如果是多个容器呢
回复

使用道具 举报

 楼主| 发表于 2023-8-27 01:17 | 显示全部楼层
2stage 发表于 2023-8-27 00:54
可以弄一个本地DNS 把qbit 这些解析到 ip:port。

—— 来自 S1Fun

DNS解析无法添加端口吧
回复

使用道具 举报

 楼主| 发表于 2023-8-27 01:19 | 显示全部楼层
すぴぱら 发表于 2023-8-27 01:00
你可能需要的是nginx + dnsmasq

nginx确实是一个办法...但还是想作为最终方案,如果能通过路由器解决就最好了
回复

使用道具 举报

     
发表于 2023-8-27 01:33 | 显示全部楼层
TKD53 发表于 2023-8-27 01:16
那如果是多个容器呢

不同容器地址肯定不一样呀,比如
10.0.3.9:80
10.0.3.10:80

评分

参与人数 1战斗力 +1 收起 理由
TKD53 + 1 好评加鹅

查看全部评分

回复

使用道具 举报

发表于 2023-8-27 01:47 | 显示全部楼层
TKD53 发表于 2023-8-27 01:17
DNS解析无法添加端口吧

确实不行。可以考虑下 heimdall 这种导航页。

—— 来自 S1Fun
回复

使用道具 举报

     
发表于 2023-8-27 01:49 | 显示全部楼层
TKD53 发表于 2023-8-27 00:46
现在就是这么做的
我其实是想在openwrt添加静态host解析,比如访问域名`qbittorrent`和`jellyfin`就可以 ...

反正都是局域网用你浏览器存个书签不行吗
回复

使用道具 举报

 楼主| 发表于 2023-8-27 01:57 | 显示全部楼层
calvary 发表于 2023-8-27 01:33
不同容器地址肯定不一样呀,比如
10.0.3.9:80
10.0.3.10:80

试了一下确实可以,谢谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|上海互联网违法和不良信息举报中心|网上有害信息举报专区|962110 反电信诈骗|举报电话 021-62035905|Stage1st ( 沪ICP备13020230号-1|沪公网安备 31010702007642号 )

GMT+8, 2024-9-21 02:45 , Processed in 0.056315 second(s), 7 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表