Ubuntu

LXC:如何將文件夾從主機掛載到容器?

  • January 31, 2020

我正在嘗試將主機上的文件夾掛載到 LXC 容器。

主機/mnt/ssd/solr_data創建了一個文件夾(目前位於根文件系統上,但稍後我將在那里安裝 SSD 驅動器,因此我正在為此做準備)。

我希望該文件夾像/data在容器中一樣安裝。

所以在容器 fstab 文件中我有以下內容:

/mnt/ssd/solr_data      /var/lib/lxc/Solr4StandAlone/rootfs/data        ext4    defaults,noatime        0       0

但這是不行的,我在啟動容器時遇到了這個錯誤:

lxc-start: No such file or directory - failed to mount '/mnt/ssd/solr_data' on '/usr/lib/x86_64-linux-gnu/lxc//data'
lxc-start: failed to setup the mounts for 'Solr4StandAlone'
lxc-start: failed to setup the container
lxc-start: invalid sequence number 1. expected 2
lxc-start: failed to spawn 'Solr4StandAlone'

要在容器中自動創建目錄,您還可以create=dir在 fstab 中添加選項:

/mnt/ssd/solr_data      /var/lib/lxc/Solr4StandAlone/rootfs/data        none   bind,create=dir

編輯:這是特定於 LXC 的。看到這個執行緒

就像我們已經有了“可選”一樣,這增加了兩個新的 LXC 特定的掛載標誌:

  • create=dir(將在路徑上執行 mkdir_p)
  • create=file(將在目錄名上執行 mkdir_p + 在路徑上執行 fopen)

這是出於非特權容器所需的一些綁定安裝的動機。

引用自:https://unix.stackexchange.com/questions/69072