我正在編寫一個將在LXC容器內運行的二進制文件。我控制二進制文件的源代碼,但不控制它運行的容器的內容。特別是,我不想通過寫入二進制文件來污染容器。在主機上存儲的LXC容器內運行程序
有沒有什麼辦法可以運行存儲在主機上的二進制文件,但是在容器的執行上下文(命名空間,chroot,刪除的功能等)內?
我正在編寫一個將在LXC容器內運行的二進制文件。我控制二進制文件的源代碼,但不控制它運行的容器的內容。特別是,我不想通過寫入二進制文件來污染容器。在主機上存儲的LXC容器內運行程序
有沒有什麼辦法可以運行存儲在主機上的二進制文件,但是在容器的執行上下文(命名空間,chroot,刪除的功能等)內?
我認爲你可以將主機上的samba服務導出到容器。你只需把你的東西放到samba的共享文件夾中,不要污染容器。
我不認爲這是可能的。你可以做的是在你的容器和主機之間安裝一個共享文件夾(使用綁定安裝)。然後,你可以啓動二進制文件(也就是現在你的容器FS的一部分)使用chroot
,例如:
sudo chroot <container_rootfs> /bin/bash -c 'cd <your shared folder>; ./<your_binary>'
您可以安裝和應用的升級程序在主機上,然後使用this answer
成本描述的LXC容器旁邊沒有在性能或磁盤空間
這將需要安裝桑巴,啓動它,創建一個安裝點,並將所有內容安裝在容器內。這是一個公平的污染。 – vsekhar