假设我有一个 Docker 图像,它运行一些有趣的东西,但是对于在 Mac-OSX 上编译的音频编辑应用程序来说非常复杂,该应用程序实时执行特定的音频渲染。
我有一个 Docker 设置,可以使用 Linux 镜像正常运行,但是将音频通过管道传输到主机系统的过程既不可靠也不高效。我真的很想直接在主机操作系统上运行它。
我想在 Mac 上很好地运行这个桌面应用程序,但不依赖 Docker、Wine 等。
有没有办法从 Mac OSX 上 native 运行的 Docker 镜像制作单个二进制文件?
我认为它必须依赖于 Docker 拥有的一些动态库,但这很好。
最佳答案
不,这是不可能的。
考虑到即使是“ native ”Docker Desktop for Mac 应用程序实际上也可以与隐藏的虚拟机一起使用。 (例如,比较 uname -a
和 docker 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/