2016/04/18 平見知久
Dockerバージョンアップで動かなくなる その2
いつぞやDockerをバージョンアップして動かなくなるという記事を書いたのですが、またやってしまいました(汗)
CentOS7の環境です。
$ cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core)
思わずyum updateをやって再起動をかけて、docker psをしたら、
$ docker ps Cannot connect to the Docker daemon. Is the docker daemon running on this host?
とつれない返事。
/var/log/messagesを見ると、
Apr 13 21:51:43 docker02 systemd: Starting Docker Application Container Engine... Apr 13 21:51:43 docker02 journal: Forwarding stdin to journald using Priority Informational and tag docker Apr 13 21:51:43 docker02 kernel: device-mapper: table: 253:6: thin: Couldn't open thin internal device Apr 13 21:51:43 docker02 kernel: device-mapper: ioctl: error adding target to table Apr 13 21:51:43 docker02 journal: time="2016-04-13T21:51:43.332220800+09:00" level=fatal msg="Error starting daemon: error initializing graphdriver: Could not query and save base device UUID:Error running deviceCreate (ActivateDevice) dm_task_run failed"
あらぁ。またやっちまったぁ。ということでググることしばし..
https://bugs.centos.org/view.php?id=8960
あたりを参考にして、/etc/sysconfig/docker-storageのDOCKER_STORAGE_OPTIONSの内容をクリアします。
#DOCKER_STORAGE_OPTIONS="--storage-driver devicemapper --storage-opt dm.fs=xfs --storage-opt dm.thinpooldev=/dev/mapper/centos-docker--pool --storage-opt dm.use_deferred_removal=true --storage-opt dm.use_deferred_deletion=true " DOCKER_STORAGE_OPTIONS=""
systemctl start dockerでなんとか上がってくれました。
$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
docker ps -a で使っていたイメージも一応無事そうです。
どうもCentOSだとバージョンアップ時に色々トラブル出ます > docker
私だけでしょうかorz
プロダクションでもdockerを入れると有効な局面はいくつか見てきているのですが、うーん。
セキュリティ関連面でパッケージをupdateしないというのは問題ありますし、dockerだけ上げないとしてもdocker(というかLXC)はカーネルと密接に関連する部分がありますので多分kernelのアップデートも止めないと何か問題が出てきそうです。ただkernelのアップデートをしないのはそれで問題ありそうですし..
ちょっと悩ましいところです。
あ、バージョンアップ後のdockerは、
$ rpm -qi docker Name : docker Version : 1.9.1 Release : 25.el7.centos Architecture: x86_64 ...
です。上げる前のバージョンは残念ながら控えていませんが前回のラボノートあたりの頃のバージョンです。
またやっちまったぜ、ということでネタにしておきます。