「Docker のインストールがサポートされているストレージドライバを使用していません。」

こんにちは、Discourse の初心者で、技術的な知識はあまりありません。

公式の手順に従って、Lightsail の Ubuntu 18.04.2 に Discourse をインストールしました。フォーラムは問題なく起動し、動作しています。

次に、プラグインのインストールを試みました:Install plugins on a self-hosted site

./launcher rebuild appを実行すると、以下のエラーが表示されます。

“Your Docker installation is not using a supported storage driver. If we were to proceed you may have a broken install. aufs is the recommended storage driver, although zfs/btrfs/overlay and overlay2 may work as well. Other storage drivers are known to be problematic. You can tell what filesystem you are using by running “docker info” and looking at the ‘Storage Driver’ line. If you wish to continue anyway using your existing unsupported storage driver, read the source code of launcher and figure out how to bypass this check.”

このフォーラムで同じメッセージを検索しましたが、返信から具体的に何をすべきか明確になりませんでした。

私の環境で Docker info を実行すると、overlay2 が表示されます。

Discourse のインストール自体は成功したのに、プラグインのインストールや再構築がなぜ失敗するのか、よくわかりません。

インストールからプラグインのインストール・再構築を試みるまでの間に、通知に従って Discourse と Docker マネージャーを更新し、apt-get updateapt-get upgrade を実行しただけです。

overlay2 は動作するのでしょうか?それとも aufs が必要なのでしょうか?プラグインのインストールを成功させるために、具体的にどのような手順に従えばよいのでしょうか?

よろしくお願いいたします。
Maynard

docker info を実行して、その出力をここに貼り付けていただけますか?

素早いご返信、ありがとうございます。docker info の出力は以下の通りです:

Client:
 Debug Mode: false

Server:
 Containers: 1
Running: 1
Paused: 0
Stopped: 0
 Images: 2
 Server Version: 19.03.1
 Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: true
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 894b81a4b802e4eb2a91d1ce216b8817763c29fb
 runc version: 425e105d5a03fabd737a126ad93d62a9eeede87f
 init version: fec3683
 Security Options:
apparmor
seccomp
Profile: default
 Kernel Version: 4.15.0-1044-aws
 Operating System: Ubuntu 18.04.2 LTS
 OSType: linux
 Architecture: x86_64
 CPUs: 1
 Total Memory: 1.945GiB
 Name: ip-172-26-45-250
 ID: X2FT:FW3R:QQM2:BNNU:4L3L:QYEV:WMI4:IC2T:LHJV:UNSG:RYHH:OWJ7
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
127.0.0.0/8
 Live Restore Enabled: false

WARNING: No swap limit support

ああ、何が起こっているのか分かりました。

以下を試してみてください:

cd /var/discourse
git pull
./launcher rebuild app

迅速な返信をいただき、改めてありがとうございます。

git pull を追加したところ、データエクスプローラープラグインが正常に動作するようになりました。

変だ。何だったんだ?

さて、長い話になります。

Docker 19.x では、docker info の出力構造が大幅に変更されました。

この問題は、19.x がまだベータブランチにあった約1か月前に修正済みです(https://github.com/discourse/discourse_docker/commit/98c5fec43de299bdfc55970cea3495fa4c27d6ac)。ランチャー・スクリプトが自動更新を行うため、大多数のユーザーにとっては問題となりません。

ただし、launcher スクリプトは自動更新前にストレージの互換性をチェックします。そのため、古いランチャーのまま Docker を先に更新してしまうと、この状態に陥る可能性があります。

これは初めてではありません。ランチャーがまず更新し、その後ユーザーに再実行を促すことはできないでしょうか?

はい、その変更を試してみましょうか?