Jump to content

Docker in LXD


riwaha

Recommended Posts

On an Odroid C2 and Le Potato, both running Armbian 5.75, Docker fails to run hello-world when inside an LXD container, reproducible by running the following commands results in an error

Spoiler

apt-get update

apt-get install snapd

snap install lxd

lxd init # set storage pool to dir , not xfs or btrfs

lxc launch ubuntu:bionic docker

lxc config set docker security.nesting true

lxc config set docker linux.kernel_modules ip_tables, overlay

lxc restart docker

lxc exec ubuntu -- /bin/bash

# inside the container

apt-get update

apt-get install docker.io

systemctl enable docker

systemctl start docker

docker run --rm hello-world

 

/var/log/syslog shows

Spoiler

 

docker dockerd[148]: time="2019-03-16T12:37:02.592553328Z" level=error msg="error unmounting /var/lib/docker/overlay2/1ed547e71f4803d40b3b3b3a65c96bf8553bb9532b733be2a5c50b803cc1aea-init/merged: invalid argument" storage-driver=overlay2

docker dockerd[148]: time="2019-03-16T12:37:02.592553328Z" level=error msg="Handler for POST /v1.39/containers/create returned error: error creating overlay mount to /var/lib/docker/overlay2/1ed547e71f4803d40b3b3b3a65c96bf8553bb9532b733be2a5c50b803cc1aea-init/merged: operation not permitted

 

 

Running the same commands on Ubuntu 18.04 x86_64 runs the Docker container inside LXD without error. I have tried searching, I have found that it used to not be supported if the LXD storage pool was XFS, in this case LXD storage pool is dir which works on x86_64, but not Armbian, I am thinking it is kernel config, but have not found what would be missing.

Link to comment
Share on other sites

14 minutes ago, riwaha said:

both running Armbian 5.75


Without armbianmonitor -u I have no idea which kernel you are using ... and kernel (config) is the most likely problem. Docker dependencies should be covered but snap and lxd ... never paid attention to that. Check meson64 default-next-dev kernel config(s) and sent a PR with changes - what needs to be enabled.

Link to comment
Share on other sites

On 3/16/2019 at 9:27 AM, Igor said:


Without armbianmonitor -u I have no idea which kernel you are using ... and kernel (config) is the most likely problem. Docker dependencies should be covered but snap and lxd ... never paid attention to that. Check meson64 default-next-dev kernel config(s) and sent a PR with changes - what needs to be enabled.

I got a chance to look into this further. It looks like a patch for the overlay module will be needed, I found a commit that enabled mounting in user namespaces for overlay fstype in ubuntu-xenial , it is still used in ubuntu-bionic. I just tested it on 4.19.y branch and it fixes the issue.

I have forked armbian/build, and have tested it in meson64-next, should I test it in -default and -dev as well, or should I send a PR with just meson64-next?

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines