Dockerを実行しているサーバーで、自分で修正できない問題が発生しました。 Dockerバージョン18.09.0を使用しており、Ubuntu 16.04.5LTSで4d60db4をビルドします。日中、Dockerアプリケーションが利用できないことに気づいたので、サービスを確認しました。 service docker start
でDockerサービスを開始しようとすると、A dependency job for docker.service failed. See 'journalctl -xe' for details
が表示されます。 journalctlを確認すると、次の出力が得られます。
systemd[1]: Starting Docker Application Container Engine...
-- Subject: Unit docker.service has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit docker.service has begun starting up.
systemd[1]: Starting containerd container runtime...
-- Subject: Unit containerd.service has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit containerd.service has begun starting up.
modprobe[811]: modprobe: ERROR: ../libkmod/libkmod.c:514 lookup_builtin_file() could not open builtin file '/lib/modules/4.4.0/modules.builtin.bin'
modprobe[811]: modprobe: FATAL: Module overlay not found in directory /lib/modules/4.4.0
systemd[1]: containerd.service: Control process exited, code=exited status=1
systemd[1]: Failed to start containerd container runtime.
-- Subject: Unit containerd.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit containerd.service has failed.
--
-- The result is failed.
systemd[1]: Dependency failed for Docker Application Container Engine.
-- Subject: Unit docker.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit docker.service has failed.
--
-- The result is dependency.
systemd[1]: docker.service: Job docker.service/start failed with result 'dependency'.
systemd[1]: containerd.service: Unit entered failed state.
systemd[1]: containerd.service: Failed with result 'exit-code'.
systemd[1]: Stopped Docker Application Container Engine.
-- Subject: Unit docker.service has finished shutting down
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit docker.service has finished shutting down.
サーバーを複数回再起動してみました。システム上の他のすべてが完全に実行されています(メール、バックアップ、Webサイト)。
私はmodprobeやエラーの経験がないので、詳細なヘルプをいただければ幸いです。
前もって感謝します
Debian 9でdocker-ceをバージョン18.09.0にアップグレードした後、今日同じエラーが発生しました。そのバージョンの解決策を提供することはできませんが、バージョン18.06.1に戻ると再び起動しました。 Ubuntuの場合、これは次のようになります。
Sudo apt-get install docker-ce=18.06.1~ce~3-0~ubuntu
バージョン18.09.0はこれまでに機能しましたか?アップグレード直後にインストールがクラッシュしました。
編集:この問題に関連するGitHubに関するレポートが実際にあります。 https://github.com/containerd/containerd/issues/2772
新しいcontainerd
は、すでにロードされている場合でも、オーバーレイモジュールをロードしようとしているようです。オーバーレイモジュールがシステムにロードされていますが、/lib/modules/
にファイルが見つかりません
あなたがファイルを持っているかどうか調べてください(あなたは確かにUbuntu16.04を在庫しているはずです):
find /lib/modules -name "*overlay*"
そして、あなたはそれを自分でロードできますか?
# modprobe overlay
# echo $?
0
# lsmod | grep overlay
overlay 49152 0
Dockerがロードに失敗する理由はわかりませんが、スマートであれば、すでにロードしている場合はロードする必要はありません。したがって、自分でロードできる場合は、/etc/modules
に追加して、起動時にロードされるようにしてください(再起動後にlsmodで再度確認してください)。
echo overlay >> /etc/modules