###スペック
docker v1.3.3
centos6.5
##なぜ増やした
初期設定の10GBだと足りなくなってしまったので増やすことにしました。
ちなみに
# cat /var/lib/docker/devicemapper/metadata/
{"device_id":0,"size":10737418240,"transaction_id":1,"initialized":true}
これで確認できるかと思います。
##どうやって増やす
Dockerでルートディスクサイズを調整する
こちらを参考にさせていただいたところ
/etc/sysconfig/docker-storageを用意して「DOCKER_STORAGE_OPTIONS=" --storage-opt dm.basesize=40G" 」を追加してあげればいいのかと思って
# service docker stop
# rm -rf /var/lib/docekr
/etc/sysconfig/docker-storage # 追加
# service docker start
このように対応しましたが
# cat /var/lib/docker/devicemapper/metadata/base
{"device_id":0,"size":10737418240,"transaction_id":1,"initialized":true}
と増えませんでした。
##少し違っていた
https://github.com/docker/docker/tree/ec1002db58e8f84fc6d8306a3dd580e5fa88872c/contrib/init/sysvinit-redhat
Dockerを使用しているサーバーには上記のURLからinitを持ってきてdockerはgithubにあるバイナリを使ってました。
initのdockerの方を見てみると
# Description: Daemon for docker.com
### END INIT INFO
# Source function library.
. /etc/rc.d/init.d/functions
prog="docker"
exec="/usr/bin/$prog"
pidfile="/var/run/$prog.pid"
lockfile="/var/lock/subsys/$prog"
logfile="/var/log/$prog"
[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
prestart() {
一部抜粋ですが、/etc/sysconfig/$progと/etc/sysconfig/dockerのみ叩いていました。
ですので、/etc/sys/config/docker-storageでなくて/etc/sysconfig/dockerを変更するようにしました。
####before
# /etc/sysconfig/docker
#
# Other arguments to pass to the docker daemon process
# These will be parsed by the sysv initscript and appended
# to the arguments list passed to docker daemon
other_args=""
####after
# /etc/sysconfig/docker
#
# Other arguments to pass to the docker daemon process
# These will be parsed by the sysv initscript and appended
# to the arguments list passed to docker -d
other_args=" --storage-opt dm.basesize=40G"
と変えてあげて先ほどの手順を行ったところ
# cat /var/lib/docker/devicemapper/metadata/base
{"device_id":0,"size":42949672960,"transaction_id":1,"initialized":true}
増やすことに成功しました。
##終わり
今回調べてみたらほとんど/etc/sysconfig/docker-storageに「DOCKER_STORAGE_OPTIONS=" --storage-opt dm.basesize=40G"」を記載してあげればいいとの事だったのでv1.3.3より大きいDockerならばこのお方法は必要ないかと思います。