为什么 buildah run 支持 `--hostname`,但不支持 podman exec?

埃文卡罗尔

两者buildah run,并且podman exec在活跃容器中运行的程序,

buildah-run - Run a command inside of the container.
podman-exec - Execute a command in a running container

但是,只buildah run支持一个--hostname选项?为什么这些命令不是奇偶校验的?为什么他们有不同的能力?

换句话说,buildah 目前有一个损坏的--hostnameoption,但我不清楚为什么它会起作用。使用 podman 时,该选项在您启动容器时设置,而 buildah 已完成,buildah from因此不应该buildah from--hostname参数吗?

埃文卡罗尔

这里的原因需要稍微解释一下,

  • 容器是概念上链接的任何一组命名空间和功能。
  • 当容器中的任何进程当前正在执行时,容器正在运行(状态)
  • 大多数命名空间(除了我认为的用户)必须在容器运行之前设置
  • 该命名空间中的所有进程都可以看到命名空间中的更改。
  • buildah run启动一个未运行的容器,并初始化这些命名空间。因为它知道命名空间内没有其他正在运行的东西,所以它不必担心更改它们的不利影响。
  • podman exec获取一个正在运行的容器并启动另一个具有相同 PID(和其他)命名空间的进程。因为它不初始化命名空间,命名空间内的任何更改都会影响附加到这些命名空间的所有其他进程。因此,名称空间修改被禁用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章