我需要在Dockerfile中以--privileged运行特定命令,但是我找不到告诉docker如何这样做的方法。
该命令是RUN echo core > /proc/sys/kernel/core_pattern
如果我将其放在Dockerfile中,构建过程将失败。
如果我注释了那行命令并在标志--privileged
下运行Dockerfile,则可以在容器中成功运行该命令。
是否有任何解决方案可以使一切都从Dockerfile正常工作?
谢谢
我需要在Dockerfile中以--privileged运行特定命令,但是我找不到告诉docker如何这样做的方法。
该命令是RUN echo core > /proc/sys/kernel/core_pattern
如果我将其放在Dockerfile中,构建过程将失败。
如果我注释了那行命令并在标志--privileged
下运行Dockerfile,则可以在容器中成功运行该命令。
是否有任何解决方案可以使一切都从Dockerfile正常工作?
谢谢
虽然不完全是"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