Docker 通过主机模式动态公开端口,但无法从外部访问端口

时间:2021-01-30 03:27:21

标签: docker docker-container docker-networking frp docker-network

我正在尝试在需要侦听动态端口的容器中运行 frp。这意味着 frp 可能会在运行时打开额外的端口。

我的操作步骤

  1. 在我的远程 VPS 上,我使用以下命令启动 frp 服务器。请注意,我使用 host 模式,根据 Docker 文档,这意味着所有打开的 frp 端口都可以从主机和外部机器访问。
docker run -d \
--network=host \
-v /etc/frp:/etc/frp/:ro \
--name frps \
--rm \
290007431/frps:v0

这是容器内的程序,显示7500和9000端口可用beginning

  1. 在我的 Mac (Big Sur) 和 Raspberry Pi (Debian 10) 上,我尝试通过端口 7500 访问仪表板 Web,结果失败。所以我使用 namp 来扫描端口。这是结果 result。它表明 7500 和 9000 无法从客户端端点(Mac 和 Raspberry Pi)访问。

  2. 随着事情的发展,我回到我的 VPS 来检查端口是否真的暴露了。我使用 netstat -nlptu 命令,结果显示 VPS 正在侦听 7500 和 9000 端口result

是不是很奇怪?

1 个答案:

答案 0 :(得分:0)

终于!!!我找到了无法从外部访问 VPS 的原因。也就是说,VPS 提供商具有默认防火墙,它在 VPS 之外运行。 我登录到 VPS Provider 控制台并进行配置。多么愚蠢的故事?