在Dockerfile

时间:2017-01-11 23:48:30

标签: docker privileges

我需要蜜蜂 - 特权在Dockerfile中运行一个特定的命令,但我找不到告诉docker这样做的方法。

命令为RUN echo core > /proc/sys/kernel/core_pattern

如果我把它放在Dockerfile中,那么构建过程就会失败。

如果我使用该行注释但使用标志--privileged运行Dockerfile,那么我可以在容器内运行命令。

是否有任何解决方案可以使Dockerfile中的所有内容都能正常运行?

谢谢

1 个答案:

答案 0 :(得分:2)

不完全" Dockerfile",但是如果您始终使用--privileged

运行容器,则可以使用入口点脚本执行此操作

话虽这么说,如果可能作为码头工人的美丽的一部分,我会警告你不要这样做,因为你不能以root身份运行。

更好的选择,恕我直言,而是在主机系统上改变它。这样,它也会在容器内反映出来。

唯一需要注意的是,这将反映在该系统上的所有容器上(当然还有系统本身)。

以下是我建议的解决方案的概念证明:

root@terrorbyte:~# docker run -it alpine cat /proc/sys/kernel/core_pattern
core
root@terrorbyte:~# echo core2 > /proc/sys/kernel/core_pattern
root@terrorbyte:~# docker run -it alpine cat /proc/sys/kernel/core_pattern
core2