为什么找不到绑定在 docker 容器中的可执行文件



Bind 将可执行文件挂载到 docker 容器中

docker run -it --net none -v /bin/dir:/bin/vdir busybox /bin/sh

然后尝试执行绑定的可执行文件

# ls -al /bin/vdir
-rwxr-xr-x    1 root     root        126584 Mar  2  2017 /bin/vdir
/ # /bin/vdir
/bin/sh: /bin/vdir: not found

为什么sh找不到可执行文件?

我们唯一的想法是这与内核相关,并且与挂载命名空间有关?

uname -a
Linux eros 4.4.0-112-generic #135-Ubuntu SMP Fri Jan 19 11:48:36 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

在当前的 Centos 上,这工作正常。 任何想法都非常感谢。

谢谢

事实证明,

这与容器基础映像有关。 运行基于 Ubuntu 的容器不会表现出这种行为。

最新更新