【问题标题】:Node js app running inside container opens user's web browser在容器内运行的 Node js 应用程序打开用户的 Web 浏览器
【发布时间】:2018-08-22 04:51:51
【问题描述】:

我需要一个选项来从在 docker 容器中运行的节点 js 应用程序打开用户的默认 Web 浏览器。我需要知道这一点才能实现 OAuth 流程。

我知道我可以通过在客户端打开新标签来做到这一点,但由于其他原因我没有这个选项。

【问题讨论】:

  • 我不会给出任何代码示例,因为这个问题与代码无关。我需要简单的答案,可以这样做,或者简单,这是不可能的。

标签: node.js docker browser docker-container


【解决方案1】:

我不熟悉 docker 容器,但对于直接 nodejs,这对我有用:

//  start browser
if (opSys == "Win64")
    command = ("start http://localhost:8000/init"); // Win64
else if (opSys == "MacOS")
    command = ("open http://localhost:8000/init");  // MacOS
else
    command = ("xdg-open http://localhost:8000/init"); // Linux
exec (command, function (error, stdout, stderr) 
    {
    if (error)
        {
        console.log ("command: ", command);
        console.log ("error: ", stderr);
        }
    });

【讨论】:

  • 是的,这是一个如何在不同操作系统上打开 Web 浏览器的示例。在 Docker 容器中运行的应用程序的问题在于,它与用户操作系统隔离。它有自己的操作系统,运行这些命令将在容器中打开浏览器,而不是在用户机器上。
猜你喜欢
  • 1970-01-01
  • 2011-10-26
  • 1970-01-01
  • 2014-10-23
  • 1970-01-01
  • 1970-01-01
  • 2020-04-26
  • 2011-01-16
相关资源
最近更新 更多