CentOS7のDockerを1.9から1.10にアップグレードしたら動かなくなってハマったので情報共有。
ログ
journalctl -xe -u docker
とするとこんな感じで出るわけですよ。
docker.service - Docker Application Container Engine
Loaded: loaded (/etc/systemd/system/docker.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since 火 2016-02-09 13:30:07 JST; 10s ago
Docs: https://docs.docker.com
Process: 5410 ExecStart=/usr/bin/docker -d -H fd:// $OPTIONS $DOCKER_STORAGE_OPTIONS $DOCKER_NETWORK_OPTIONS $BLOCK_REGISTRY $INSECURE_REGISTRY (code=exited, status=125)
Main PID: 5410 (code=exited, status=125)
2月 09 13:30:07 XXXXXXXXXX systemd[1]: Starting Docker Application Container Engine...
2月 09 13:30:07 XXXXXXXXXX docker[5410]: flag provided but not defined: -d
2月 09 13:30:07 XXXXXXXXXX docker[5410]: See '/usr/bin/docker --help'.
2月 09 13:30:07 XXXXXXXXXX systemd[1]: docker.service: main process exited, code=exited, status=125/n/a
2月 09 13:30:07 XXXXXXXXXX systemd[1]: Failed to start Docker Application Container Engine.
2月 09 13:30:07 XXXXXXXXXX systemd[1]: Unit docker.service entered failed state.
2月 09 13:30:07 XXXXXXXXXX systemd[1]: docker.service failed.
ポイントはここですかね。
2月 09 13:30:07 XXXXXXXXXX docker[5410]: flag provided but not defined: -d
systemd
dockerデーモンの起動コマンドに誤りがありました。
たぶん以下のどれかにあると思います。
チェックして下さい。
/etc/systemd/system/docker.service
/usr/lib/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network.target docker.socket
Requires=docker.socket
[Service]
Type=notify
ExecStart=/usr/bin/docker -d -H fd://
MountFlags=slave
LimitNOFILE=1048576
LimitNPROC=1048576
LimitCORE=infinity
TasksMax=1048576
TimeoutStartSec=0
[Install]
WantedBy=multi-user.target
プロキシ設定してる人はいじってるんじゃないかと思います。
[Service]
ExecStart=/usr/bin/docker -d -H fd://
-d
が悪でした。
daemon
に変えましょう。
解決。
-d
がdeprecatedになったのはどのバージョンからかちょっと追ってませんでしたが、
少なくとも1.10からは-d
だとDockerをサービス起動できなくなりました、ということで。
あとはこれ
sudo systemctl daemon-reload
sudo systemctl start docker