安装GNU并行:如何从Docker Build进入“必引”?

yvgpqqbh  于 2022-12-03  发布在  Docker
关注(0)|答案(3)|浏览(154)

在Docker文件中:

from debian:latest

RUN apt-get install parallel
RUN parallel --citation <<< "will cite"

而Docker构建根本就不会因为这个进入过程而完成。如何安装Parallel?

4si2a6ki

4si2a6ki1#

RUN yes 'will cite' | parallel --citation

是一个可能的答案。
有关GNU-parallel(和原始脚本)的历史记录:
GNU Parallel since 2001
看起来最近的开发者引入了这种“会引用”的病毒式营销概念。我想这并不像用自己的名字命名一个2000年前的数学方程那么糟糕(对不起毕达哥拉斯),但在商业环境中旋转图像时会很烦人。
如果它仍然是一个问题,你的图像,考虑设置一个makefile或运行原来的并行代码(见上面的链接)。
我也从来没有得到并行工作在多台计算机上- TLDR -〉太复杂,从来没有尝试过-而可能会考虑pexec
pxec: execute command in parallel on remote machines
这将是Unix风格的MAP-〉REDUCE实现中的map操作。在远程机器上,makeGNU-parallel仍然可以使用。

ax6ht2ek

ax6ht2ek2#

对于GNU parallel 20211122版本,我不得不将@Chris的答案更改为:

RUN echo 'will cite' | parallel --citation || true
wgeznvg7

wgeznvg73#

这对我在GNU并行版本2022102上起作用:

touch ~/.parallel/will-cite

例如,在Fedora 37 Docker中运行:

[root@4b60c99bec99 ~]# parallel echo {} ::: 1 2 3
Academic tradition requires you to cite works you base your article on
...
To silence this citation notice: run 'parallel --citation' once.

1
2
3
[root@4b60c99bec99 ~]# touch ~/.parallel/will-cite
[root@4b60c99bec99 ~]# parallel echo {} ::: 1 2 3
1
2
3
[root@4b60c99bec99 ~]#

相关问题