【问题标题】:Run command as --privileged in Dockerfile在 Dockerfile 中以 --privileged 身份运行命令
【发布时间】:2017-05-26 22:49:33
【问题描述】:

我需要 bee --privileged 才能在 Dockerfile 中运行特定命令,但我找不到告诉 docker 这样做的方法。

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

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

如果我运行带有注释的 Dockerfile,但带有标志 --privileged,那么我可以在容器内很好地运行该命令。

是否有任何解决方案可以使 Dockerfile 中的一切正常工作?

谢谢

【问题讨论】:

    标签: docker privileges


    【解决方案1】:

    不完全是“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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-26
      • 2015-10-09
      • 2013-02-15
      • 2012-09-01
      相关资源
      最近更新 更多