James Yu
James Yu

Reputation: 519

docker --storage-opt dm.basesize=40G does not work?


I switch storage to devicemapper, and try to grow the rootfs for container to 40G.
I add the following to config to /var/lib/boot2docker/profile and reboot boot2docker's VM

[/var/lib/boot2docker/profile start]<br>
\#!/bin/sh<br>
EXTRA_ARGS="--storage-opt dm.basesize=40G --storage-driver=devicemapper"<br>
[/var/lib/boot2docker/profile end]<br>

The docker.log shows the config is taking effect

[/var/lib/boot2docker/docker.log snippet start]<br>
/usr/local/bin/docker -d -D -g "/var/lib/docker" -H unix:// -H tcp://0.0.0.0:2376 **--storage-opt dm.basesize=40G --storage-driver=devicemapper** --tlsverify --tlscacert=/var/lib/boot2docker/tls/ca.pem --tlscert=/var/lib/boot2docker/tls/server.pem --tlskey=/var/lib/boot2docker/tls/serverkey.pem >> "/var/lib/boot2docker/docker.log"<br>
2014/12/22 03:33:36 docker daemon: 1.3.2 39fa2fa; execdriver: native; graphdriver: devicemapper<br>
[74c56fa4] +job serveapi(unix:///var/run/docker.sock, tcp://0.0.0.0:2376)<br>
[debug] deviceset.go:565 Generated prefix: docker-8:1-784941<br>
[debug] deviceset.go:568 Checking for existence of the pool 'docker-8:1-784941-pool'<br>
[debug] deviceset.go:587 Pool doesn't exist. Creating it.<br>
[/var/lib/boot2docker/docker.log snippet end]<br>

However, the container's rootfs is still bound to 20G instead of the 40G shown in configuration

[df -h in container start]<br>
[root@sshd ~]\# df -h<br>
Filesystem            Size  Used Avail Use% Mounted on<br>
rootfs                 **20G**  401M   19G   3% /<br>
/dev/mapper/docker-8:1-784941-8184b64c9275276c9420f5decd0b1d31dc8bce725ecbd93a918407363b45b2d3<br>
                       20G  401M   19G   3% /<br>
tmpfs                 2.0G     0  2.0G   0% /dev<br>
shm                    64M     0   64M   0% /dev/shm<br>
/dev/sda1             192G  6.9G  175G   4% /etc/resolv.conf<br>
/dev/sda1             192G  6.9G  175G   4% /etc/hostname<br>
/dev/sda1             192G  6.9G  175G   4% /etc/hosts<br>
tmpfs                 2.0G     0  2.0G   0% /proc/kcore<br>
[root@sshd ~]\#<br>

[df -h in container end]

The --storage-opt dm.basesize does not seem to work at all, how do I fix this ?

Upvotes: 1

Views: 4000

Answers (1)

James Yu
James Yu

Reputation: 519

It turns out that new dm.basesize only works if I pull a new image. It didn't work because I use "docker load < /xxx" to load local backup tar image.

Upvotes: 3

Related Questions