dockerが突然起動しなくなった場合の対応例 too quicklyエラーの場合


おうちのRaspberry Pi 4ですが。

再起動したタイミングで、突然Dockerが動かなくなりました。

systemctlコマンドで状態を確認すると、「Start request repeated too quickly.」というメッセージが。

対応方法を記録しておこうと思います。


Dockerが起動しない場合の対応例

システムの更新

起動しなくなったのは、こちらの記事のRaspberry Piになります。

Raspberry Pi OS 64ビット版のEPGStation環境構築手順 令和5年(2023年)1月版
先日、USBストレージから、64ビット版Raspberry Pi OSを起動できるようにしました。 こちらの環境に、4番組同時...

OSはRaspberry Pi OSの64ビット版です。

まずは、OSを最新の状態の更新しました。

sudo apt update
sudo apt upgrade -y

最新の状態に更新しましたが。dockerを起動してみても。

sudo systemctl restart docker.service

「too quickly.」は改善しませんでした。


dockerの再インストール

dockerを再インストールしてみました。

sudo apt remove docker
sudo apt install docker

こちらも意味はありませんでした。

というわけで、パッケージ(docker)に問題はなく、システム(OSとRaspberry Pi)またはdockerの動作環境のどちらかが怪しい、という感じになってきました。


ファームウェア更新

システム側の問題の場合、ファームウェアを更新すると改善する場合があります。

こちらのコマンドで更新が可能ですが。

sudo rpi-update

ファームウェアが格納された/bootディレクトリは読み込み専用のため、エラーが出て失敗します。

こちらの記事と同様に、/bootを書き込み可能なオプションで再マウントしてから、ファームウェアを更新します。

Raspberry Pi OSのアップデートで/boot/start.elf書き込みエラーが出るとき
アップデートが進まなくなってしまいました。 対処方法を。

こちらのコマンドになります。

sudo mount -o rw,remount /boot
sudo rpi-update

今度はエラーは表示されず、/bootディレクトリの内容が最新に更新されたようです。

Raspberry Piを再起動して、dockerが起動するか確認します。

sudo reboot
sudo systemctl status docker.service

しかしおうちのRaspberry Piは、ファームウェアを更新してもdockerが起動しませんでした。


docker実行環境のクリア

too quicklyエラーで起動しない場合の対処方法は、公式ページのこちらに情報がありました。

既定では、dockerの実行環境は、/var/lib/dockerディレクトリになります。

そこにはダウンロードしたイメージやコンテナやボリュームが格納されています。

公式ページの情報にあります、/etc/docker/daemon.jsonファイルを作成する意味ですが、この実行環境を、別のディレクトリに移す内容になります。

sudo vi /etc/docker/daemon.json

内容はこちらになります。

{ 
   "data-root": "/docker" 
}

jsonファイル作成後、dockerを起動します。

sudo systemctl status docker.service

今度は正常にdockerが起動しました。

しかし注意点があります。実行環境を移したため、コンテナやボリュームの内容はすべてクリーンな初期状態になり、過去のデータが消えたかたちになりますので、注意が必要です。


以上で、とりあえずdocker本体は起動するようになりました。

環境がごっそり初期化される形ですが、そもそもdocker本体が動かなければ、環境を戻すことも何もできないため、仕方がない対応かと思います。

元の環境にデータがあった場合、docker起動後に元に戻す作業が必要になりますが。

うーむ。また再発する可能性もあるのでは?と思ってしまいます。

・・・・

dockerって大丈夫なのでしょうかね?

podmanへの移行も考えたいなと思いました。

Podmanのポッドとコンテナ作成手順の覚書
以前作成しました、Podman用のKubernetes yamlファイルですが。 Windows 10でPodmanを動か...
スポンサーリンク

フォローする

スポンサーリンク