首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从windows本地浏览器直接访问远程linux服务器中的docker web应用程序?

问如何从windows本地浏览器直接访问远程linux服务器中的docker web应用程序?
EN

Unix & Linux用户
提问于 2023-02-04 12:50:24
回答 2查看 251关注 0票数 3

在dockerhub上执行镜像教程之后,我成功地在远程Linux服务上运行了一个dockerhub应用程序。这里的主机是远程的ubuntu服务器,可以通过浏览器地址"http://localhost:8888/index.html““访问它。

代码语言:javascript
复制
docker run -it --rm -p 8888:8888 --shm-size=512M mathworks/matlab:r2022b -browser

但是,问题是,应用程序只能从主机上的浏览器访问,而不能从本地计算机或同一局域网上的不同计算机浏览器访问。我已经很难找到一个解决方案,通过搜索网页,并试图通过指定以下URL地址访问它,但没有任何工作。

代码语言:javascript
复制
"http://localhost:8888/index.html"
"http://<linux_ip_id>:8888/index.html"
"http://<windows_ip_id>:8888/index.html"
"http://<container_ip_id>:8888/index.html"

此外,我从其他来源中了解到,我需要将主机和本地计算机之间的网络方法设置为桥接,其解决方案是建立一个VM VirtualBox管理器。但是我的情况不同,主机是一个远程独立的ubuntu服务器。默认情况下,码头容器以桥接器的形式与主机通信,但我试图通过使用指定为--network=host的网络连接来运行对接容器,而上面的访问地址仍然不能工作!

注意:我的本地计算机是windows 10系统,它与远程Linux系统位于同一个局域网上,也就是说,我可以正常地平取服务器IP地址,也可以通过ssh连接到它。

EN

回答 2

Unix & Linux用户

发布于 2023-04-01 18:26:31

我也有过类似的情况。在Linux服务器VM上运行的Docker。尝试从其他网络中的其他机器远程访问码头集装箱。解决方案是修改linux服务器上的iptable:

代码语言:javascript
复制
iptables -I DOCKER-USER -i ensXX -s 0.0.0.0/0 -j ACCEPT

此命令允许从任何网络连接。ensXX -是我的linux服务器网络接口(参见ifconfig)。

在执行此命令后,我能够远程连接到docker容器。

更多关于码头和iptable的信息:https://docs.docker.com/network/iptables/

票数 1
EN

Unix & Linux用户

发布于 2023-04-04 07:25:20

幸运的是,我能够通过使用ssh命令解决我的问题。在本地windows系统上使用ssh的引用命令如下所示。ssh -L 8888:<remote_linux_ip>:8888 <my_name>@<remote_linux_ip>

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/734323

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档