【问题标题】:Possible? How to setup VNC in a Google Managed VM Environment可能的?如何在 Google 托管的 VM 环境中设置 VNC
【发布时间】:2016-05-24 05:28:12
【问题描述】:

我使用的是 Java,但这不一定是 Java 问题。谷歌的“java-compat”镜像是 Debian (3.16.7-ckt20-1+deb8u3~bpo70+1 (2016-01-19))。

这是我的 Dockerfile:

FROM gcr.io/google_appengine/java-compat
RUN apt-get -qqy update && apt-get qqy install curl xvfb x11vnc
RUN mkdir -p ~/.vnc
RUN x11vnc -storepasswd xxxxxxxx ~/.vnc/passwd 
EXPOSE 5900

ADD . /app

在管理控制台中,我创建了一个防火墙规则来打开 5900。最后,我在“_ah/start”启动挂钩中使用以下命令调用 vnc 服务器本身:

x11vnc -forever -usepw -create

一切似乎都设置正确,但我无法连接 TightVNC。我对在管理控制台中找到的实例使用公共(临时)IP 地址,后跟 ::5900(由于某种原因,TightVNC 需要两个冒号)。我收到一条消息,服务器拒绝连接。事实上,当我尝试远程登录到端口 5900 时,它被阻止了。

接下来我通过 SSH 连接到 container 机器,当我使用 wget xxx.xxx.xxx.xxx:5900 测试容器上的端口时,我得到了连接。所以在我看来,容器不接受端口 5900 上的连接。我说对了吗?是否可以打开端口并将我的 VNC 客户端路由到 docker 容器中?任何帮助表示赞赏。

为什么我不能使用 Compute Engine。 只是为了抢占一些 cmet 使用 google 的 Compute Engine 环境而不是托管 VM。我在代码中大量使用了数据存储和任务队列。我不认为这些可以在 Compute Engine 上运行(或本机/高效运行)。但我可能会将其作为一个单独的问题提出。

更新: Per Paul 在 cmets... 学习了一些 docker 术语:我可以在 Google 环境中的容器上发布端口吗?

【问题讨论】:

标签: google-app-engine docker vnc managed-vm google-managed-vm


【解决方案1】:

出于好奇 - 您为什么要尝试将 VNC 引入您的实例?如果只是出于管理目的,您可以通过 SSH 连接到托管 VM 实例。

话虽如此 - 您可以使用 network/forwarded_ports 配置将流量从 VM 路由到应用程序容器:

network:
  forwarded_ports:
  - 5900
  instance_tag: vnc

将其放入您的 app.yaml 中,然后重新部署您的应用。您还需要在防火墙中打开端口(如果您打算从公共互联网访问此端口):

gcloud compute firewall-rules create default-allow-vnc \
  --allow tcp:5900 \
  --target-tags vnc \
  --description "Allow vnc traffic on port 5900"

希望这会有所帮助!

【讨论】:

  • app.yaml 上的那些设置是我需要的深层魔法!谢谢贾斯汀。我想知道 app.yaml 中还隐藏着哪些其他未记录的秘密......
  • 哈,很高兴它有帮助。 FWIW,我们确实在这里介绍了这一点:cloud.google.com/appengine/docs/managed-vms/nodejs/…
  • 另外 - 我必须知道 - 你为什么在这里使用 VNC?
  • 绝密。但它涉及世界统治。以及 GUI 应用程序自动化在无头环境中的弊端。至于 app.yaml 文档...我已经做了一个“自我说明”,如果我真的想要搜索文档,我将不得不浏览每种语言...那些细节在 Python 或 Java 配置中找不到 Node.js 方面的内容。
  • 很抱歉 - 谷歌搜索似乎还没有赶上谷歌云:P 每种语言的文档都是一样的:cloud.google.com/appengine/docs/managed-vms/python/…
猜你喜欢
  • 2018-08-13
  • 1970-01-01
  • 1970-01-01
  • 2019-04-23
  • 1970-01-01
  • 2018-11-22
  • 1970-01-01
  • 1970-01-01
  • 2021-06-12
相关资源
最近更新 更多