我如何使这个未映射的端口像映射端口一样工作?

时间:2020-04-15 20:56:52

标签: docker

注意:这个问题更多的是关于为什么映射端口可能表现不同以及我如何能够纠正它,而不是关于我要运行的特定应用程序。

我正在尝试使此隧道/反向代理服务器在不映射端口的情况下工作。当我将一个端口映射到主机端口时,它起作用,但是当我不将其映射到主机端口时,它就不起作用。

首先,当我像这样运行它时,它可以工作:

docker run --rm -it -p 83 -p 85:85 jpillora/chisel server --port 83 -reverse

docker ps:

...0.0.0.0:85->85/tcp, 0.0.0.0:32853->83/tcp

我这样启动客户端:chisel client example.com:32853 R:85:localhost:8000。当我转到http://example.com:85/时,看到本地主机端口8000。

这很好用!

但是,我不想映射端口85。我希望Docker为我分配端口,以便我可以运行任意数量的端口而不必考虑端口分配。

在这种情况下,我将像这样运行服务器:

docker run --rm -it -p 83 -p 85 jpillora/chisel server --port 83 -reverse

docker ps:

...0.0.0.0:32853->83/tcp, 0.0.0.0:32854->85/tcp

现在,我这样启动客户端:chisel client example.com:32853 R:32854:localhost:8000

我希望能够将http端口换为为端口85分配的端口,但是,在请求http://example.com:32854/

时我没有任何反应

那为什么映射的端口可以工作而未映射的端口不能工作,我有什么办法可以使它在没有映射的情况下工作?

0 个答案:

没有答案