gpt4 book ai didi

javascript - 如何在 Docker 命令中使用 NPM 包配置变量?

转载 作者:太空宇宙 更新时间:2023-11-03 21:55:34 26 4
gpt4 key购买 nike

我有一个 package.json 文件,其中包含应用程序端口的单个 config 变量:

package.json

...
"config":{
"port": "3000"
},
...

我还定义了一个用于运行 docker 镜像的脚本。现在,我想在运行 docker 镜像的命令中使用配置变量。来自 here我可以看到如何使用 npm 配置变量。所以我的脚本变成:

package.json(同一个)

....
"scripts": {
"docker:run": "docker run --rm -it -p $npm_package_config_port:$npm_package_config_port my-app:latest"
}
...

但是,变量port 永远不会被插值。相反,我在运行时从 Docker 收到错误:

无效的容器端口:$npm_package_config_port

问题

如何通过 npm 脚本在 docker 命令中使用 npm 变量?

谢谢!

最佳答案

我已经在 Node 4.7.3 和 npm 2.15.11 上尝试过此操作

package.json

{
"config": {
"port": 3000
},
"scripts": {
"start": "echo $npm_package_config_port"
}
}

尝试运行npm start,它应该输出端口 3000。如果不起作用,请尝试以下package.json

{
"config": {
"port": 3000
},
"scripts": {
"start": "env"
}
}

这将输出所有环境变量,您可以检查端口变量是否可用。

我不确定,但与您正在使用的版本相比,可以使用较新的 Node/npm 版本添加环境变量支持。粘贴 node -vnpm -v 的输出以便我们检查。

关于javascript - 如何在 Docker 命令中使用 NPM 包配置变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42125381/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com