docker执行与nsenter:任何陷阱?

在过去的几个月中,我一直使用nsenter来获取运行在容器上的shell,以便进行debugging。 我听说过,并使用1.3版本中引入的docker exec 。 Docker exec 似乎是为了进行debugging而进入容器内部的新的最佳实践,但是我想知道是否有使用docker exec与nsenter的缺点。 比较两者的信息是很less的。 在使用docker docker exec和nsenter的时候,我有什么特别的问题需要注意或避免?

现在还不完全清楚。 但是我支持这样的观点,即docker exec是正式的方式。 nsenter的作者实际上推荐使用nsenter docker exec 。 如果你遇到任何缺点,他鼓励你尽pipe报告。

docker执行官与nsenter

nsenter和docker exec之间有区别。 即nsenter不进入cgroups,因此避开资源限制。 这样做的潜在好处是debugging和外部审计,但是对于远程访问,docker exec是目前推荐的方法。

只适用于Intel 64位平台。 可以说,这是Docker唯一官方支持的平台。 所以这不是什么大事。

nsenter仍然需要从主机运行; 它不能在容器中运行(还)。

ref: https : //github.com/jpetazzo/nsenter/blob/master/README.md