【问题标题】:How to know which slash (forward or backslash) will be used as folder separator on a Cloud Run Node.js dockerized environment?如何知道哪个斜杠(正斜杠或反斜杠)将用作 Cloud Run Node.js dockerized 环境中的文件夹分隔符?
【发布时间】:2021-03-01 11:40:12
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: node.js docker path google-cloud-run


    【解决方案1】:

    在您将图像上传到 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

    【讨论】:

    • 我在我的Dockerfile 上使用这张图片:FROM node:12-slimlink 这是否意味着 Linux 操作系统?编辑:对不起,现在我意识到你说过它支持 Linux 容器。所以它应该是。我通常避免在本地运行 docker。我总是觉得在本地运行很痛苦。当我这样做时,我总是在容器继续运行、图像未删除等问题上遇到问题。我通常使用nodemon 在本地对其进行测试,然后将其发送到云上的测试环境中,我可以在其中测试 Docker生产前的行为。
    猜你喜欢
    • 1970-01-01
    • 2013-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多