背景
LXDのコンテナ内からネットワーク上のフォルダをSamba(CIFS)でマウントする際は以下のようにする。
lxc config set TEST raw.apparmor 'mount fstype=cifs,'
lxc config set TEST security.privileged true
同様にLXDのコンテナ内からNFSでマウントする際は以下。
lxc config set TEST raw.apparmor 'mount fstype=nfs,'
lxc config set TEST security.privileged true
ここまでの情報はたくさん見つかるのだが、1つのLXDコンテナ内でSambaとNFSの両方とも使おうとしたときにどうすればよいのか情報が見つからなかった。
方法
結論としては、下記のようにraw.apparmor
を設定する。
lxc config set TEST raw.apparmor "mount fstype=nfs, mount fstype=cifs,"
lxc config set TEST security.privileged true
※ 試行錯誤した結果なので冗長かもしれない
例
Ubuntu 18.04のコンテナイメージで両方ともマウントする例。
(ホスト)
lxc launch ubuntu:b TEST
lxc config set TEST security.privileged true
lxc config set TEST raw.apparmor "mount fstype=nfs, mount fstype=cifs,"
lxc restart TEST
lxc exec TEST bash
(コンテナ内)
apt update
# NFS
apt install nfs-util nfs-common
mkdir /mnt/nfs
mount -t nfs -o vers=3 192.168.10.***:/mnt/share /mnt/nfs
# Samba
apt install cifs-utils
mkdir /mnt/cifs
mount -t cifs -o uid=1000,gid=1000,vers=3.0,username=***,password=*******,rw //192.168.10.***/share /mnt/cifs
もちろん、コンテナ起動時に自動的にマウントするには/etc/fstab
を編集すればOK。