将环境变量复制到Dockerfile中

时间:2019-02-28 11:50:13

标签: reactjs docker dockerfile

我正在尝试使用以下行在Dockerfile中创建一个.env文件:

var arr1 = [ /* Very long array */ ],
    arr2 = [ /* Also long array */ ];
var equalArrays = JSON.stringify(arr1) == JSON.stringify(arr2);

我收到此错误:

RUN env | grep "REACT_APP" >> .env

有人知道如何解决吗?

编辑:

完整的Dockerfile:

The command '/bin/sh -c env | grep "REACT_APP" >> .env' returned a non-zero code: 1

3 个答案:

答案 0 :(得分:1)

显然您根本没有定义REACT_APP。作为命令:

RUN env| grep REACT_APP >> .env

如果您尚未定义以下错误,将失败并显示以下错误。

The command '/bin/sh -c env| grep REACT_APP >> .env' returned a non-zero code: 1

也不需要写为

RUN ['/bin/sh', '-c', 'env | grep "REACT_APP" >> .env']

这种格式RUN env| grep REACT_APP >> .env就足够了

答案 1 :(得分:0)

RUN命令按原样启动,而不通过外壳启动。如果您希望使用shell重定向之类的功能,则必须在shell中运行它:

RUN ["/bin/bash", "-c", "env | grep \"REACT_APP\" >> .env"]

bashdashsh-选择图像中的外壳。并非每张图片内部都有BASH。

答案 2 :(得分:0)

由于您可能未设置“ REACT_APP”环境,因此可能会收到错误消息。

您可以尝试以下操作吗,

ENV REACT_APP test
RUN env | grep "REACT_APP" >> .env

您不能使用bash作为Alphine图片,仅支持sh