【发布时间】:2013-03-24 14:34:10
【问题描述】:
我正在编写一个将在 LXC 容器中运行的二进制文件。我控制二进制文件的源代码,但不控制它将在其中运行的容器的内容。特别是,我不想通过将二进制文件写入容器来污染容器。
有什么方法可以运行存储在主机上的二进制文件,但要在容器的执行上下文(命名空间、chroot、删除的功能等)内运行?
【问题讨论】:
我正在编写一个将在 LXC 容器中运行的二进制文件。我控制二进制文件的源代码,但不控制它将在其中运行的容器的内容。特别是,我不想通过将二进制文件写入容器来污染容器。
有什么方法可以运行存储在主机上的二进制文件,但要在容器的执行上下文(命名空间、chroot、删除的功能等)内运行?
【问题讨论】:
我认为您可以将 samba 服务从主机导出到容器。你只要把你的东西放到 samba 的共享文件夹中,不要污染容器。
【讨论】:
我认为这是不可能的。您可以做的是在容器和主机之间挂载一个共享文件夹(使用绑定挂载)。然后,您可以使用 chroot 启动二进制文件(现在是容器 FS 的一部分),例如:
sudo chroot <container_rootfs> /bin/bash -c 'cd <your shared folder>; ./<your_binary>'
【讨论】:
您可以在主机上安装并应用升级到您的程序,然后使用this answer 中描述的 lxc 容器
在性能或磁盘空间方面几乎没有成本
【讨论】: