Lxc

如何在自定義目錄中創建 LXC 容器

  • February 1, 2019

我的根文件系統已滿,我想在我的主目錄中創建一個容器,它有很多可用空間。我做了一個這樣的配置文件:

 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。

引用自:https://serverfault.com/questions/549426