从 LAN 连接的 PC 访问虚拟机上的 docker 容器 运行

Access a docker container running on a VM machine from LAN connected PC

我想 运行 服务器上的 Google Earth Engine Datalab 并从 LAN 上的另一台 PC 访问它。服务器的 OS 是 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(参见 link

有效,我可以通过192.168.99.100:8081访问它。但这只适用于本地主机,所以我按照这个答案 ,完成了所有步骤,现在我在服务器上打开浏览器,并通过 196.168.0.55:8081(即服务器 LAN 地址)访问 Datalab,但是我无法从连接到 LAN 的另一台计算机访问它。

这似乎是防火墙问题。 您可以使用 ping

从其他主机测试网络是否正常工作
ping 196.168.0.55

如果没问题你可以用netcat

测试端口是否打开
nc -z 196.168.0.55 8081 -v

如果它说打开端口这意味着docker容器内部会有问题,如果它超时或其他错误它将与防火墙相关