Docker exec 与 nsenter:有什么问题吗?

Docker exec versus nsenter: Any gotchas?

我一直在使用 nsenter for the last few months to get a shell running on a container for debugging purposes. I have heard about and used docker exec which was introduced in version 1.3. Docker exec seems to be 新的最佳实践来进入容器进行调试,但我想知道使用 docker exec 与nsenter。比较两者的信息很少。使用 docker exec 与 nsenter 时,有什么我应该注意或避免的具体问题吗?

目前还不完全清楚。但我会支持这样的观点,因为 docker exec 是官方方式,所以我支持它。 nsenter actually recommends 的作者使用 docker exec。如果您遇到任何缺点,他鼓励您报告它们。

docker exec 与 nsenter

nsenter和dockerexec有区别;也就是说,nsenter 不进入 cgroups,因此避开了资源限制。这样做的潜在好处是调试和外部审计,但对于远程访问,docker exec 是当前推荐的方法。

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

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

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