c++ - 在 Mac OS X 上将 Docker 镜像转换为二进制文件

标签 c++ docker executable binaryfiles

假设我有一个 Docker 图像,它运行一些有趣的东西,但是对于在 Mac-OSX 上编译的音频编辑应用程序来说非常复杂,该应用程序实时执行特定的音频渲染。

我有一个 Docker 设置,可以使用 Linux 镜像正常运行,但是将音频通过管道传输到主机系统的过程既不可靠也不高效。我真的很想直接在主机操作系统上运行它。

我想在 Mac 上很好地运行这个桌面应用程序,但不依赖 Docker、Wine 等。

有没有办法从 Mac OSX 上 native 运行的 Docker 镜像制作单个二进制文件?

我认为它必须依赖于 Docker 拥有的一些动态库,但这很好。

最佳答案

不,这是不可能的。

考虑到即使是“ native ”Docker Desktop for Mac 应用程序实际上也可以与隐藏的虚拟机一起使用。 (例如,比较 uname -adocker run --rm busybox uname -a 的输出。)这就是您能够在 MacOS 主机上运行 Linux 容器的原因。但这也意味着,如果你能够将 Linux 容器打包成可以直接运行的东西,那么它就必须将 Linux VM 的其余部分一起带上。

有像 Packer 这样的工具这可以帮助构建 VM 的过程,但是您会遇到在将 VM 的显示/音频连接到主机时已经遇到的相同问题。简化或自动化 native 应用程序构建过程可能是更好的时间投资。

关于c++ - 在 Mac OS X 上将 Docker 镜像转换为二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60940607/

相关文章:

c++ - operator new[] 定义分解

docker - 无法在AWS Linux AMI上安装Docker

python - 在 docker 中安装 pip

algorithm - 一个程序可以确定另一个程序是否下棋吗?

c++ - 上交所注册管理

c++ - 具有派生类的模板化数据类型

c++ - cmd.exe 打开pdf并打印

docker - 推送到端口转发的 docker 注册表

java - 为 java 项目创建 .exe

bash - Shell 执行 : time vs./usr/bin/time