moby: 'overlay' not found as a supported filesystem on this host. Please ensure kernel is new enough and has overlay support loaded

Hi guys,

I recently try to install a docker in another docker container, however, I cannot start the inside docker due to some errors. Below is the detail info. I am worried about whether I can install an inside docker or not? If not, could you pls explain it to me?

docker version:

Client: Version: 1.10.1 API version: 1.22 Go version: go1.5.3 Git commit: 9e83765 Built: Thu Feb 11 19:09:42 2016 OS/Arch: linux/amd64 Cannot connect to the Docker daemon. Is the docker daemon running on this host?

docker info:

Cannot connect to the Docker daemon. Is the docker daemon running on this host?

uname -a:

Linux 7a704532b288 3.16.0-30-generic #40~14.04.1-Ubuntu SMP Thu Jan 15 17:43:14 UTC 2015 x86_64 GNU/Linux

Provide additional environment details (AWS, VirtualBox, physical, etc.): A docker container(debian jessie)

List the steps to reproduce the issue:

  1. install the docker-engine(debain jessie) follow the steps in doc
  2. after the docker installed successfully, run docker daemon

Expect result:

Docker start successfully.

Actual result:

ERRO[0000] 'overlay' not found as a supported filesystem on this host. Please ensure kernel is new enough and has overlay support loaded. 
INFO[0000] Graph migration to content-addressability took 0.00 seconds 
WARN[0000] Running modprobe bridge br_netfilter failed with message: modprobe: ERROR: ../libkmod/libkmod.c:557 kmod_search_moddep() could not open moddep file '/lib/modules/3.16.0-30-generic/modules.dep.bin'
modprobe: ERROR: ../libkmod/libkmod.c:557 kmod_search_moddep() could not open moddep file '/lib/modules/3.16.0-30-generic/modules.dep.bin'
, error: exit status 1 
WARN[0000] Running modprobe nf_nat failed with message: `modprobe: ERROR: ../libkmod/libkmod.c:557 kmod_search_moddep() could not open moddep file '/lib/modules/3.16.0-30-generic/modules.dep.bin'`, error: exit status 1 
FATA[0000] Error starting daemon: Error initializing network controller: error obtaining controller instance: failed to create NAT chain: iptables failed: iptables -t nat -N DOCKER: iptables v1.4.21: can't initialize iptables table `nat': Permission denied (you must be root)
Perhaps iptables or your kernel needs to be upgraded.
 (exit status 3) 

About this issue

  • Original URL
  • State: closed
  • Created 8 years ago
  • Comments: 17 (6 by maintainers)

Most upvoted comments

As stated in the logs, you must run docker with root privileges. You should use sudo start docker or sudo systemctl start docker (depending on if you have upstart or systemd as your init daemon) to start docker.

@1993hzh I had the same issue on my pc too, and I’m using Arch linux. So, if you use Arch too, you need to reboot your computer after install docker from AUR, for some unknown reason, this worked for me, hope that works for you too.

Sorry for hijacking this, but this is the first result on Google, so it might help someone. I had the same issue on Arch Linux. You don’t actually need to reboot, simply executing modprobe overlay was sufficient.

@thaJeztah thank you for explanation. Seems like I found a solution for anyone with the same problem: http://jpetazzo.github.io/2015/09/03/do-not-use-docker-in-docker-for-ci/

sudo apt-get install docker-engine=1.8.0-0~trusty saved me(ubuntu, 3.16.0-43-generic).

And with the lastest docker(Docker version 17.03.0-ce, build 60ccb22), dockerd -s aufs works too.

It also looks like you’ve got overlay selected as a graph driver which you don’t have the kernel module loaded for.