[lxc-users] Using docker *and* nfs in lxd?
Serge Hallyn
serge.hallyn at ubuntu.com
Fri Apr 29 15:35:19 UTC 2016
Quoting Serge Hallyn (serge.hallyn at ubuntu.com):
> Quoting Dan Kegel (dank at kegel.com):
> > Hi all,
> > I'm trying to virtualize an app that uses both nfs and docker on
> > Ubuntu 16.04. (Yes, the app uses docker. Sigh.)
> >
> > The lxc profile lxc-container-default-with-nesting allowed installing
> > nfs-kernel-server, but didn't let me install docker.io.
> > I figured I was getting into "better use the latest stuff" territory,
> > so I switched to lxd.
> >
> > Following https://www.stgraber.org/2016/04/13/lxd-2-0-docker-in-lxd-712,
> > I was able to
> > get docker to run inside lxc:
> >
> > sudo apt install lxd lxd-client
> > sudo usermod -aG lxd $USER
> > (log out; log in)
> > lxc launch ubuntu:16.04 docker -p default -p docker
> > lxc exec docker -- apt update
> > lxc exec docker -- apt dist-upgrade -u
> > lxc exec docker -- apt install docker.io -y
> > lxc exec docker -- docker run ubuntu /bin/echo 'hello, nesty world!'
> >
> > Worked great! But
> > lxc exec docker -- apt install nfs-kernel-server -y
> >
> > failed; journalctl says:
> > nfs-idmapd.service/stat failed with result 'dependency' ...
> > ... failed to mount RPC Pipe File System...
> > ... Unit run-rpc_pipefs.mount has failed..."
> >
> > Just as with my earlier lxc problem, I'm sure there's some simple answer that'd
> > be obvious if I read the docs, but I can't find any lxd doc that mentions nfs,
> > nor am I fluent in AppArmor. Can I buy a clue?
>
> My guess is you need to add permission to mount type rpc_pipefs
> run-rpc_pipefs.mount, perhaps by adding it to the raw.apparmor
> config item using 'lxc config edit docker'
>
Well this is fascinating. I can't get an allow rule to work for me,
but setting security.privileged: true does work, so it is apparmor
preventing the mount. There is no denied rule in syslog, so it
appears to be a silent denial, but I don't know where.
More information about the lxc-users
mailing list