Docker 打不开可执行文件

2021-02-11 04:50:40 +08:00
 xuegy

新手刚刚接触 docker,Linux 总不能出现这么弱智的问题吧,那这么玄学的现象只能解释为 docker 问题。

如果用docker exec

OCI runtime exec failed: exec failed: container_linux.go:370: starting container process caused: no such file or directory: unknown
1313 次点击
所在节点    Docker
13 条回复
nvkou
2021-02-11 04:53:10 +08:00
我看到-x
noqwerty
2021-02-11 04:59:23 +08:00
你这个难道不是 paraview 文件夹里面有一个也叫 paraview 的文件?
codehz
2021-02-11 05:07:09 +08:00
(not found 多半是因为你没把依赖的共享库给加进去)
xuegy
2021-02-11 05:11:46 +08:00
@noqwerty 这个软件我用了好几年了,怎么运行我心里还是有点逼数的
xuegy
2021-02-11 05:15:04 +08:00
@codehz 那应该会显示找不到 xx.so 吧?不能直接说这个文件找不到啊
codehz
2021-02-11 05:24:13 +08:00
@xuegy #5 还有链接器本身啊,就是 ld-linux 那个
xuegy
2021-02-11 05:25:16 +08:00
@codehz 被 github 上的镜像给坑了...
codehz
2021-02-11 05:31:05 +08:00
(你直接复制 binary 肯定会炸啊,你需要到 alpine 上重新编译链接才能跑,不过 alpine 应该只是特殊需求才会用到)
xuegy
2021-02-11 05:40:12 +08:00
@codehz 搞不懂为什么这个人要在 Alpine 上做镜像,实现了 OpenGL support 又如何? binary 都无法执行,纯属浪费别人的时间。想开个 issue 骂他...
codehz
2021-02-11 05:48:12 +08:00
@xuegy #9 你不能跑是你的事,按正常操作就不是直接丢设计为 glibc 环境的 binary 的,准确来说,docker 就应该把构建的步骤写在 dockerfile 里(然后用 multi pass 消除多余的层),而不是直接把生成的文件放进去。
xuegy
2021-02-11 05:57:59 +08:00
@codehz 我明白你的意思。我是说这个镜像本身就不该用 apline 做,因为 Linux 上大部分有生产力的三维软件都是闭源或开源但编译困难,正常情况下都是直接拷 binary 的。
noqwerty
2021-02-11 06:19:21 +08:00
@xuegy #4 的确是我错了,之前没注意到 ls 后面加上当前文件夹下的文件名也能正常显示
Slartibartfast
2021-02-11 08:26:57 +08:00
不会吧不会吧,不会真有人认为 Linux 可执行文件直接兼容所有发行版吧。

别说所有发行版了,你动态连接库少装一个也跑不出来啊。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/752897

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX