我需要蜜蜂 - 特权在Dockerfile中运行一个特定的命令,但我找不到告诉docker这样做的方法。
命令为RUN echo core > /proc/sys/kernel/core_pattern
如果我把它放在Dockerfile中,那么构建过程就会失败。
如果我使用该行注释但使用标志--privileged
运行Dockerfile,那么我可以在容器内运行命令。
是否有任何解决方案可以使Dockerfile中的所有内容都能正常运行?
谢谢
答案 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