【问题标题】:Google app engine: IP of docker custom runtime container, node.js谷歌应用引擎:docker自定义运行时容器的IP,node.js
【发布时间】:2015-04-18 01:20:05
【问题描述】:

这与此处的stackoverflow问题有关:Run Websocket on GAE

我正在尝试使用 boot2docker 参数在沙盒 google 自定义运行时 nodejs 环境中运行 mozilla's browserquest 的版本,如下所示:

docker version
Client version: 1.5.0
Client API version: 1.17
Go version (client): go1.4.1
Git commit (client): a8a31ef
OS/Arch (client): darwin/amd64
Server version: 1.5.0
Server API version: 1.17
Go version (server): go1.4.1
Git commit (server): a8a31ef

我已经控制了很多潜在的错误,包括将服务器转移到端口 8001 并公开该端口以避免与为谷歌应用引擎管理员保留的 8000 端口冲突。

但是我目前陷入困境,因为据我所知,要成功完成这项任务,我需要向我的应用程序提供我的服务器的 ip 才能使用 websockets(有关此问题的说明,请参阅 @987654323 @ 以及其中的 readme.md 中关于使用 http://[DOCKER-IP]:3000 而不是 http://localhost:3000 的评论,说要检查)。

特别是,我想知道是否有任何优雅或简单的技术来配置 dockerfile,或更改一些其他配置设置,或确定 ip,以便可以使用 websockets(例如 browserquest)自动将应用程序指向当客户端尝试连接到服务器上的 websocket 时正确的 ip。

我最终想要的是我可以添加到我的项目中,以便在我输入时

gcloud preview app run .

然后将我的浏览器指向http://localhost:8080,我将能够进入游戏(从我的主项目目录运行 npm start 然后打开 Web 应用程序的入口点(/client 文件夹中的 index.html) ) 有效)。

【问题讨论】:

  • 我找到了一种解决方法 - 如果手动输入 ip(对于本地开发,运行 boot2docker ip 会提供所需的 ip,对于生产,ping http://.appspot。 com 给出了该实例所需的 ip。所以这个问题可以解决,但是也许找到一种方法来从 docker 容器中读取 ip 的方法是有用的,以便可以自动化配置 ip 的过程发出服务器请求时指向应用程序的地址。

标签: node.js google-app-engine websocket boot2docker


【解决方案1】:

取自OP的评论:

我找到了解决这个问题的方法 - 如果手动输入 ip(对于本地开发,运行 boot2docker ip 会提供所需的 ip,而对于生产,ping http://.appspot.com 会提供该实例所需的 ip . 所以这个问题可以解决,但是也许找到一种方法来读取 docker 容器中的 ip,这样就可以自动化配置 ip 地址的过程,以便在制作时将应用程序指向服务器请求

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-28
    • 2022-08-15
    • 2020-09-19
    • 1970-01-01
    • 2018-07-02
    • 2017-09-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多