在Dockerfile中以--privileged运行命令

use*_*465 7 privileges docker

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

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

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

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

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

谢谢

小智 3

不完全是“Dockerfile”,但您可以使用入口点脚本来执行此操作,前提是您始终使用以下命令运行容器--privileged

话虽这么说,如果可能的话,我会警告不要这样做,因为 docker 的优点之一是你不用 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
Run Code Online (Sandbox Code Playgroud)