繁体   English   中英

如何将 Docker 终端暴露给 inte.net?

[英]How to expose Docker terminal to the internet?

我正在为不同的语言创建一个在线 IDE。 所以我的方法是在用户运行他的代码后从我的 DJango 应用程序启动一个 docker 容器,但问题是我如何将 docker 容器的终端暴露给 inte.net 并使其可通过浏览器访问? 我打算将 xterm.js 用于终端的前端,但无法连接到它。

任何形式的洞察力都是值得赞赏的。

您可以使用 NGINX 的反向代理指向您的本地 IP:<container_port>,然后使用您的域名进行修改。 如下面这个例子:

location /some/path/ {
    proxy_pass http://www.example.com/link/;
}

添加一些链接来帮助你。 在此处输入链接描述

您也可以使用“Nginx 代理管理器”

简短回答:您的应用程序使用一个端口来访问它(例如,您使用 127.0.0.1:8080 或 192.168.1.100:3000)。 127.0.0.1 表示您现在使用的计算机,192.168.1.100 是 192.168.1.0.network 内的计算机。 (您的局域网)

您必须(在您的路由器上)创建从 inte.net 到您的应用程序的访问。 例如,如果您的公共 IP 地址为 123.245.123.245,则需要使用外部端口(例如:80),而 map 则为您的内部地址和端口(例如:192.168.1.100:3000)

URL 123.245.123.245:80 将重定向到 192.168.1.100:3000 上的网站。

从短期来看,这是最简单的解决方案

从长远来看,您应该尝试使用反向代理
这是一个将(取决于域)重定向到 your.network 内的站点并在请求中添加加密(如果可能)的程序。 检查此链接: 文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM