codingecho

日々の体験などを書いてます

Docker daemon cannot start on Ubuntu 16.04 Linux kernel 4.4

My Docker version is Docker CE 18.06.1.

$ sudo apt list --installed | grep -i docker
docker-ce/xenial,now 18.06.1~ce~3-0~ubuntu amd64 [installed]

Start dockerd.

$ sudo systemctl start docker

I got an error in syslog and cannnot start dockerd.

systemd[1]: Failed to start Docker Application Container Engine.

The cause of this error is that dockerd uses aufs storage engine in systemd startup script. Ubunt 16.04 don't have aufs module by default. You can install aufs module but if you use Linux kernel 4.0 >=, you can use overlay2. So you can change the storage driver to --storage-driver overlay2 from --storage-driver aufs.

/etc/systemd/system/docker.service.d/10-machine.conf

[Service]
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2376 -H unix:///var/run/docker.sock --storage-driver overlay2 --tlsverify --tlscacert /etc/docker/ca.pem --tlscert /etc/docker/server.pem --tlskey /etc/docker/server-key.pem --label provider=openstack

Start dockerd.

$ sudo systemctl start docker