从 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 之后,我做了:
- 安装Docker工具箱
- 定义本地工作区
- 创建容器,但更改:
-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容器内部会有问题,如果它超时或其他错误它将与防火墙相关
我想 运行 服务器上的 Google Earth Engine Datalab 并从 LAN 上的另一台 PC 访问它。服务器的 OS 是 Windows Server 2012。所以,在 https://developers.google.com/earth-engine/python_install-datalab-local 之后,我做了:
- 安装Docker工具箱
- 定义本地工作区
- 创建容器,但更改:
-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容器内部会有问题,如果它超时或其他错误它将与防火墙相关