【发布时间】:2024-01-13 09:34:01
【问题描述】:
我不得不说,在 Windows 环境 /Powershell 中我会立即完成,但由于我必须在 docker Linux 映像中执行这个 shell 脚本,所以我需要你的帮助。
我有一个 node.js env 文件,我在其中存储了我的环境变量,因此 nodejs 应用程序可以稍后使用它们。我设置了一些占位符,我需要用我从 docker @ 获得的 event args 参数替换它们987654321@.
.env 文件的内容是
NodePort={NodePort}
DBServer={DBServer}
DBDatabaseName={DBDatabaseName}
DBUser={DBUser}
DBPassword={DBPassword}
DBEncrypt= {DBEncrypt}
RFIDNodeUrlRoot={RFIDNodeUrlRoot}
RFIDStartMethod={RFIDStartMethod}
RFIDStopMethod={RFIDStopMethod}
RFIDGetTagsMethod={RFIDGetTagsMethod}
我不知道打开文件,替换环境变量中的值,然后保存它的最佳方法。
谁能帮帮我? 谢谢
【问题讨论】:
-
值究竟是如何进入容器的?如果您通过
docker run -e选项传递它们,它们已经在进程环境中设置,您的节点代码应该在process.env中看到它们;您并不特别需要.env文件。 -
你是对的,但是这个应用程序可以在本地或容器上运行,并且在它从 .env 加载的原始(前提)中运行,所以我需要从容器中抽象出来
标签: docker dockerfile sh