Docker 之间是否可以共享端口?

2016-05-19 14:14:32 +08:00
 P99LrYZVkZkg
之前问了一个关于 Docker 传递参数的问题,用曲线救国的方式解决了。

我的情况是在群晖上安装两个 Docker ,一个是 ss client ,一个是 privoxy socks5 转 http 的。因为家里用的 Apple TV 好像不支持 socks5 。

现在 socks5 配置好了,端口可用。我设置的 22222:1080 端口映射。

问题是在配置 privoxy 端口时,提示端口已占用。因为我要把 22222 端口转成 33333 HTTP 代理端口。

可能我说的比较绕,既然 22222 端口不能同时影射到两个 Docker ,是否两个 Docker 直接可以内部端口公用?这样也能解决我的问题。

各位指点一下,谢谢。
2125 次点击
所在节点    问与答
11 条回复
Mush
2016-05-19 14:33:43 +08:00
将 ss-client 的容器--link 到 privoxy 的容器
rainysia
2016-05-19 14:37:21 +08:00
我能想到的两个, 一个是外面宿主机用 iptables 来绑定 22222 和 33333
另外就是第二个容器直接 link 第一个:1080
eric6356
2016-05-19 14:42:15 +08:00
link 是正解。或者不 link 的话, privoxy 这个 container 应当是可以直接访问到你外面 ip 的 22222 端口的。
zealic
2016-05-19 14:51:09 +08:00
跑 host 模式或者 link
cxbig
2016-05-19 15:15:16 +08:00
到底是 2 个 Docker 还是 2 个 Container ?
P99LrYZVkZkg
2016-05-19 15:51:22 +08:00
@Mush 这个谁 link 谁,有讲究的么?
P99LrYZVkZkg
2016-05-19 15:52:02 +08:00
@rainysia 我 link 后没有看到有配置端口的地方呢?
P99LrYZVkZkg
2016-05-19 15:52:51 +08:00
@eric6356 哦,你说的对哈。 22222 端口应该可以直接访问,我忽略了这个。
P99LrYZVkZkg
2016-05-19 15:53:32 +08:00
@zealic 不知道群晖 Docker 是否支持 host 模式。
rainysia
2016-05-19 16:04:53 +08:00
link 后需要在要走 socket5 的 container 里面运行代理. cat /etc/hosts 拿到对应的内部 ip

host 模式需要宿主机作 iptables forward
P99LrYZVkZkg
2016-05-19 16:29:33 +08:00
@cxbig Container

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

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

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

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

© 2021 V2EX