首页 > 解决方案 > 如何知道哪个斜杠(正斜杠或反斜杠)将用作 Cloud Run Node.js dockerized 环境中的文件夹分隔符?

问题描述

express在 Cloud Run(docker 容器)上的 Node.js 环境中运行我的服务器。

我需要__filename在我的一个函数中访问该变量。

我怎么知道哪个斜杠将作为文件夹分隔符返回?正斜杠还是反斜杠?

这是否仅由 Node 本身定义,还是我应该查看将在哪个操作系统上创建 Node 环境?

在我本地的 Powershell Windows 上,它以反斜杠的形式返回\

标签: node.jsdockerpathgoogle-cloud-run

解决方案


在您将图像上传到 Google 的 Docker 注册表之前,您可以尝试在本地运行您的图像并查看它是如何工作的。它应该在您的 Cloud Run 容器中以相同的方式工作。

Cloud Run 仅支持 Linux 容器,因此应使用正斜杠:/

您可以尝试使用以下命令在本地运行它:

  1. 导航到包含 Dockerfile 的文件夹
  2. 构建容器docker build -t myimage .
  3. 等待构建完成...
  4. 现在运行容器:docker run myimage

我想也许你想从你机器上的容器中公开端口。您可以使用以下命令执行此操作:(docker run -p 3000:3000 myimage它会将您的容器暴露给 http://localhost:3000


推荐阅读