【やったこと】
CentOS7.2へdocker-ce 17.12.0をインストールしました。
dockerを起動すると下記のエラーメッセージが表示されました。
$ sudo systemctl start docker Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.
【調べたこと】
$ sudo journalctl -xe 2月 18 09:54:31 hoge kernel: overlayfs: upper fs needs to support d_type. This 2月 18 09:54:31 hoge dockerd[29900]: time="2020-02-18T09:54:31.421900022+09:00 2月 18 09:54:31 hoge dockerd[29900]: Error starting daemon: error initializing
検索すると下記のサイトが見つかり、xfs上でftype=1でなければならなそうです。
https://docs.docker.com/storage/storagedriver/overlayfs-driver/
「Use xfs_info to verify that the ftype option is set to 1. To format an xfs filesystem correctly, use the flag -n ftype=1.」
とありました。
調べると確かにftype=0でした
$ xfs_info /dev/mapper/centos-root|grep ftype naming =version 2 bsize=4096 ascii-ci=0 ftype=0
正常に動作したCetnOS7.4ではftype=1になっていました
$ xfs_info /dev/sda4|grep ftype naming =version 2 bsize=4096 ascii-ci=0 ftype=1
https://docs.docker.com/storage/storagedriver/overlayfs-driver/
を参考にdaemon.jsonファイルを作成し、下記の記述を追加しました
{ "storage-driver": "overlay2" }
これで、dockerは起動したのですが、docker infoを参照すると
$ docker info /usr/bin/docker info Containers: 0 Running: 0 Paused: 0 Stopped: 0 Images: 93 Server Version: 17.12.0-ce Storage Driver: overlay2 Backing Filesystem: xfs Supports d_type: false Native Overlay Diff: true (略) WARNING: overlay2: the backing xfs filesystem is formatted without d_type support, which leads to incorrect behavior. Reformat the filesystem with ftype=1 to enable d_type support. Running without d_type support will not be supported in future releases.
"leads to incorrect behavior"と言われて心配になり、docker-ceをremoveしてdocker1.13.1
を再インストールしました。
【実現したいこと】
"Reformat the filesystem with ftype=1"とありますから、
パーティションをフォーマットしない限り、この環境ではdocker-ceは実行できないのでしょうか。
そもそもOSのインストール時にftype=0としたつもりは無いのですが、どうするとこうなったのか不明です。
またd_typeサポートとは何のことか検索しましたが、わかりませんでした。
回答1件
あなたの回答
tips
プレビュー