Lxc
如何在自定義目錄中創建 LXC 容器
我的根文件系統已滿,我想在我的主目錄中創建一個容器,它有很多可用空間。我做了一個這樣的配置文件:
LXC_AUTO="true" LXC_DIRECTORY="/home/al/lxc"
我正在創建一個這樣的容器:
$ sudo lxc-create -f lxc.conf -t ubuntu -n foo
但它仍在填滿/var。
如何告訴 lxc 在我的主目錄中創建一個容器?
編輯#2:
哇,不敢相信我錯過了這個:
首次安裝 lxc (version: 0.8.0~rc1-8+deb7u1) (“apt-get install lxc”) 時,它會詢問您希望容器放在哪個目錄中。
編輯 #2 結束
編輯:
顯然,如果您使用以下命令從原始碼安裝“lxc”:
make install --localstatedir=/home
它應該允許在 /home 目錄中自動創建 VE。這將影響所有 lxc-* 工具。
編輯結束
您需要編輯“lxc-create”(對我來說它在“/usr/bin”中)。在定義“localstatedir”和“lxc_path”的文件中,您需要更改它。
根據您的需要,您將需要:
localstatedir=/home lxc_path=${localstatedir}/al/lxc
或者可能:
localstatedir=/home/al lxc_path=${localstatedir}/lxc
我的設置:
localstatedir=/home lxc_path=${localstatedir}/lxc
我剛剛想通了;它創建容器時沒有任何錯誤,但除此之外我還沒有對其進行測試。至於配置文件“/etc/default/lxc”中的“LXC_DIRECTORY=”行,需要匹配“lxc-create”文件中的“lxc_path=”行,否則會在兩個不同的目錄中創建一個rootfs。
所以你的配置文件“/etc/default/lxc”需要閱讀:
LXC_DIRECTORY="/home/al/lxc"
我的讀到:
LXC_DIRECTORY="/home/lxc"
這當然是一種變通方法,我不知道這對其他 lxc-* 工具有什麼影響。它們可能還需要根據需要進行編輯;也許其他人可以插話如何在程序中安裝 lxc。