相关疑难解决方法(0)

有没有办法将 Python 程序编译为二进制并将其与 Scratch Dockerfile 一起使用?

我最近一直在研究 docker 镜像。我看到这个 docker 文档关于使用FROM scratch. 我想看看我能走多远,只是为了好玩。我用Python编程。该文档说将示例 C 程序编译为二进制文件,将其复制到容器中,然后运行它。在容器中,我无法运行python <program_file>.我看到了有关将 python 文件编译为二进制文件的堆栈交换帖子,这符合我们的测试用例。它提到使用pyinstaller. 因此,我在一个测试文件上运行它hello.py,该文件仅打印 Hello with pyinstaller hello.py,并且收到一堆有关构建项目的消息。好的。我可以通过运行“dist/hello”在本地计算机中运行二进制文件(这是帖子中提到的二进制程序。所以我编写了 Dockerfile 来复制该程序并运行它。我的 Dockerfile 是

FROM scratch

ADD dist/hello /
CMD ["./hello"]
Run Code Online (Sandbox Code Playgroud)

我运行docker build . -t "hello:1.0"然后docker run hello:1.0......我收到一条错误消息:

standard_init_linux.go:211: exec user process caused "no such file or directory"
Run Code Online (Sandbox Code Playgroud)

是什么赋予了?我做错了什么?是否可以让 pyinstaller 编译一个二进制 python 项目(多个文件,而不仅仅是这个文件),然后使用临时映像来运行它。如果可能的话,有什么注意事项吗?

python docker

6
推荐指数
1
解决办法
4917
查看次数

标签 统计

docker ×1

python ×1