【问题标题】:Access a docker container running on a VM machine from LAN connected PC从 LAN 连接的 PC 访问在 VM 机器上运行的 docker 容器
【发布时间】:2018-08-29 08:59:31
【问题描述】:

我想在服务器上运行 Google Earth Engine Datalab 并从 LAN 上的另一台 PC 访问它。服务器的操作系统是 Windows Server 2012。所以,按照https://developers.google.com/earth-engine/python_install-datalab-local,我做了:

  1. 安装 Docker 工具箱
  2. 定义本地工作区
  3. 创建容器,但更改:-p "127.0.0.1:8081:8080"-p "8081:8080"。这是完整的命令:

docker run -it -p "8081:8080" -v "$WORKSPACE:/content" -e "PROJECT_ID=$GCP_PROJECT_ID" $CONTAINER_IMAGE_NAME(见链接

它有效,我可以通过192.168.99.100:8081 访问它。但这仅适用于本地主机,所以我按照这个答案https://stackoverflow.com/a/36458215/2791453,做了所有步骤,现在我在服务器上打开一个浏览器,并通过196.168.0.55:8081(这是服务器局域网地址)访问Datalab,但我无法访问它来自另一台连接到 LAN 的计算机。

【问题讨论】:

  • 可能是防火墙、路由器或其他问题,您可以从其他 LAN 主机ping 196.168.0.55 吗?
  • 是的,我可以ping
  • 端口是否对主机开放? nc -z 196.168.0.55 8081 -v 的输出是什么?
  • @MazelTov nc: connect to 196.168.0.55 port 8081 (tcp) failed: Connection timed out
  • 我应该允许什么通过防火墙?虚拟盒子?

标签: docker virtualization docker-toolbox google-earth-engine


【解决方案1】:

这似乎是防火墙问题。 您可以使用ping 测试其他主机的网络是否正常运行

ping 196.168.0.55

如果没问题,你可以用netcat测试端口是否打开

nc -z 196.168.0.55 8081 -v

如果显示打开端口,则表示docker容器内部存在问题,如果超时或其他错误将与防火墙相关

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-28
    • 1970-01-01
    • 2022-06-16
    • 2021-08-03
    • 1970-01-01
    • 1970-01-01
    • 2017-09-27
    • 1970-01-01
    相关资源
    最近更新 更多