gpt4 book ai didi

node.js - 如何在docker run中设置环境变量

转载 作者:行者123 更新时间:2023-12-02 21:09:16 25 4
gpt4 key购买 nike

我正在尝试在docker run命令中设置环境变量。

这是我的Dockerfile:

FROM node:8.16.0-alpine

WORKDIR /Users/Marc/Dev/GreenPool/docker-test

COPY test.js ./

COPY . .

RUN ln -s /usr/bin/nodejs /usr/bin/node

ENTRYPOINT ["node", "./test.js", "data"]

这是我的命令:
docker run marcvander/node-test:latest -e "data=2"

控制台输出:
Undefined
NaN
NaN

如果我在Dockerfile中设置了环境变量,它将起作用:
ENV data=3

控制台输出:
3
3
6

我的test.js文件:
#!/usr/bin/env node

var data = process.env.data;
console.log(data);
data = Number(data);

function addTwoNumbers(data) {
console.log(data);
console.log(data + data);
return data + data;
}

addTwoNumbers(data);

最佳答案

-e标志必须在图像名称之前。

要模拟ENTRYPOINT ed Dockerfile:

$ docker run -it --entrypoint=printenv ubuntu:16.04 -e foo=bar
printenv: invalid option -- 'e'

c.f.
$ docker run -it --entrypoint=printenv -e foo=bar ubuntu:16.04
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOSTNAME=0d4ef96a831d
TERM=xterm
foo=bar
HOME=/root

关于node.js - 如何在docker run中设置环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55865095/

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