Ubuntu 16.04のDockerをaufsからdevicemapperに切り替えました。
aufsで作成したコンテナは、全て削除されます。
RedHat系のコンテナでswapを追加しようと試みました。
LVMなのでサイズ変更できるかと思いましたが、下記の通りmdsetupがエラーとなりました。
aufsをdevicemapperに変えることで改善するか試しました。(結果改善しませんでした。涙)
$ docker pull oraclelinux:7.2 $ docker run -it --rm oraclelinux bash [root@a453b4f54f10 /]# dmsetup ls /dev/mapper/control: open failed: Operation not permitted Failure to communicate with kernel device-mapper driver. Check that device-mapper is available in the kernel. Incompatible libdevmapper (unknown version) and kernel driver (unknown version). Command failed [root@a453b4f54f10 /]#
環境
使った環境は、下記の通りです。
$ grep DESC /etc/lsb-release DISTRIB_DESCRIPTION="Ubuntu 16.04.1 LTS" $ docker --version Docker version 1.12.1, build 23cf638 $ docker info | grep Storage Storage Driver: aufs $
変更
/etc/default/dockerにdevicemapperを使うようにオプションを設定します。
dockerサービスを止めてaufsで作成されたコンテナを削除します。
$ sudo systemctl stop docker $ sudo rm -rf /var/lib/docker $
Ubuntu 16.04のdockerは、/etc/default/dockerのオプションを読み込まないのでsystemdのお作法に従ってオプションを読み込ませるように変更します。
$ grep devicemapper /etc/default/docker DOCKER_OPTS="--storage-driver=devicemapper" $ sudo cp -p /lib/systemd/system/docker.service /etc/systemd/system $ egrep "Envi|DOCKER_OPT" /etc/systemd/system/docker.service EnvironmentFile=/etc/default/docker ExecStart=/usr/bin/dockerd -H fd:// $DOCKER_OPTS $
systemdの設定を反映してdockerを起動します。
$ sudo systemctl daemon-reload $ sudo systemctl start docker $
devicemapperに切り替わりました。
$ docker info | grep Storage WARNING: Usage of loopback devices is strongly discouraged for production use. Use `--storage-opt dm.thinpooldev` to specify a custom block storage device. Storage Driver: devicemapper WARNING: No swap limit support $
結果は変わらず…
$ docker pull oraclelinux:7.2 7.2: Pulling from library/oraclelinux 10ec637c060c: Pull complete Digest: sha256:583f9e880f9228894555775c720d32eb22bf09cd13009c036d8f19b3257ccb41 Status: Downloaded newer image for oraclelinux:7.2 $ docker run -it --rm oraclelinux bash Unable to find image 'oraclelinux:latest' locally latest: Pulling from library/oraclelinux Digest: sha256:583f9e880f9228894555775c720d32eb22bf09cd13009c036d8f19b3257ccb41 Status: Downloaded newer image for oraclelinux:latest [root@f7d5ae7a0107 /]# dmsetup ls /dev/mapper/control: open failed: Operation not permitted Failure to communicate with kernel device-mapper driver. Check that device-mapper is available in the kernel. Incompatible libdevmapper (unknown version) and kernel driver (unknown version). Command failed [root@f7d5ae7a0107 /]#