Dockerfile:将RUN指令输出到variables中
我正在编写一个dockerfile文件,并希望将“ls”命令的输出放入一个variables中,如下所示:
$ file = ls / tmp / dir
在这里,“dir”里面只有一个文件。
使用dockerfile的以下RUN指令不工作RUN $ file = ls / tmp / dir
你不能保存一个variables,以便以后在其他Dockerfile
命令中使用(如果这是你的意图)。 这是因为每个RUN
发生在一个新的shell中。
但是,如果您只想捕获ls
的输出,则应该可以在一个RUN
复合命令中执行此操作。 例如:
RUN file="$(ls -1 /tmp/dir)" && echo $file
或者直接使用subshell内联:
RUN echo $(ls -1 /tmp/dir)
希望这有助于你的理解。 如果你有一个实际的错误或问题要解决,我可以扩大而不是假设的答案。