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 的容器不会表现出这种行为。