docker with btrfs ubuntu

1.6k Views Asked by At

I need help in order to start docker deamon using btrfs.

The deamon don't want to start when I try to start it using -s btrfs. There is an error in the logs (wrong filesystem?) when trying to start docker deamon with btrfs.

I use ubuntu as OS :

root@ionutmos-VirtualBox:/etc/default# uname -a
Linux ionutmos-VirtualBox 3.16.0-38-generic #52~14.04.1-Ubuntu SMP Fri May 8    09:43:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux 

I mounted a new partition using btrfs on /var/lib/docker2.

    /dev/sda       btrfs     52428800     512  50302720   1% /var/lib/docker2

I have 1.6.2 docker version installed :

/etc/default# docker version
Client version: 1.6.2
Client API version: 1.18
Go version (client): go1.4.2
Git commit (client): 7c8fca2
OS/Arch (client): linux/amd64
Server version: 1.6.2
Server API version: 1.18
Go version (server): go1.4.2
Git commit (server): 7c8fca2
OS/Arch (server): linux/amd64

I edited "/lib/systemd/system/docker.service" file and it's looking like this :

Description=Docker Application Container Engine
Documentation=http://docs.docker.com
After=network.target docker.socket
Requires=docker.socket
[Service]
EnvironmentFile=-/etc/default/docker
ExecStart=/usr/bin/docker -d -H fd:// $OPTIONS
MountFlags=slave
LimitNOFILE=1048576
LimitNPROC=1048576
LimitCORE=infinity
[Install]
WantedBy=multi-user.target
Also=docker.socket

I inserted 2 Options in /etc/default/docker file:

OPTIONS="--storage-driver btrfs"
DOCKER_OPTS="-s btrfs"

When I try to start docker deamon manually this error is present into logs:

FATA[0000] Shutting down daemon due to errors: error intializing graphdriver: prerequisites for driver not satisfied (wrong filesystem?)

Here it is the entire log file :

root@ionutmos-VirtualBox:/usr/lib/system-service# docker -d -D -s btrfs
DEBU[0000] waiting for daemon to initialize
INFO[0000] +job serveapi(unix:///var/run/docker.sock)
INFO[0000] Listening for HTTP on unix (/var/run/docker.sock)
DEBU[0000] Registering GET, /images/{name:.*}/get
DEBU[0000] Registering GET, /images/{name:.*}/history
DEBU[0000] Registering GET, /images/{name:.*}/json
DEBU[0000] Registering GET, /_ping
DEBU[0000] Registering GET, /events
DEBU[0000] Registering GET, /images/json
DEBU[0000] Registering GET, /images/get
DEBU[0000] Registering GET, /containers/{name:.*}/changes
DEBU[0000] Registering GET, /containers/{name:.*}/logs
DEBU[0000] Registering GET, /exec/{id:.*}/json
DEBU[0000] Registering GET, /containers/{name:.*}/attach/ws
DEBU[0000] Registering GET, /images/search
DEBU[0000] Registering GET, /containers/json
DEBU[0000] Registering GET, /containers/{name:.*}/export
DEBU[0000] Registering GET, /containers/{name:.*}/json
DEBU[0000] Registering GET, /containers/{name:.*}/top
DEBU[0000] Registering GET, /containers/{name:.*}/stats
DEBU[0000] Registering GET, /info
DEBU[0000] Registering GET, /version
DEBU[0000] Registering GET, /images/viz
DEBU[0000] Registering GET, /containers/ps
DEBU[0000] Registering POST, /auth
DEBU[0000] Registering POST, /exec/{name:.*}/start
DEBU[0000] Registering POST, /exec/{name:.*}/resize
DEBU[0000] Registering POST, /images/create
DEBU[0000] Registering POST, /images/load
DEBU[0000] Registering POST, /images/{name:.*}/push
DEBU[0000] Registering POST, /containers/{name:.*}/start
DEBU[0000] Registering POST, /containers/{name:.*}/rename
DEBU[0000] Registering POST, /containers/{name:.*}/exec
DEBU[0000] Registering POST, /build
DEBU[0000] Registering POST, /containers/{name:.*}/unpause
DEBU[0000] Registering POST, /containers/{name:.*}/restart
DEBU[0000] Registering POST, /containers/{name:.*}/wait
DEBU[0000] Registering POST, /containers/{name:.*}/attach
DEBU[0000] Registering POST, /containers/{name:.*}/copy
DEBU[0000] Registering POST, /containers/{name:.*}/resize
DEBU[0000] Registering POST, /commit
DEBU[0000] Registering POST, /images/{name:.*}/tag
DEBU[0000] Registering POST, /containers/create
DEBU[0000] Registering POST, /containers/{name:.*}/kill
DEBU[0000] Registering POST, /containers/{name:.*}/pause
DEBU[0000] Registering POST, /containers/{name:.*}/stop
DEBU[0000] Registering DELETE, /containers/{name:.*}
DEBU[0000] Registering DELETE, /images/{name:.*}
DEBU[0000] Registering OPTIONS,
DEBU[0000] docker group found. gid: 125
FATA[0000] Shutting down daemon due to errors: error intializing graphdriver: prerequisites for driver not satisfied (wrong filesystem?)
1

There are 1 best solutions below

0
On BEST ANSWER

Adrian Mouat recomandation was the answer to my question.

Docker started using btrfs after I started like this :

    /usr/bin/docker -d -g /var/lib/docker2

Thanks you very much.