解決策: 1. docker サービスを停止した後、「rsync -avz /var/lib/docker 大容量ディスク ディレクトリ/docker/lib/」を使用して docker を大容量ディスクに移行します。 2. 「」を編集します。 /etc/docker/daemon.json」を実行して、docker ディレクトリを移行およびバインドするための指定されたパラメーターを追加します。 3. docker サービスをリロードして再起動します。
このチュートリアルの動作環境: linux7.3 システム、docker バージョン 19.03、Dell G3 コンピューター。
docker を使用する際、新しいイメージや新しいコンテナを作成し、新しいコンテナにさまざまなパッケージをインストールすることがよくありますが、これらは仮想的なものではありません。代わりに、実際にはディスクに存在します。デフォルトでは、/var/lib/docker にあります。このディレクトリはシステム ディスクに属しており、システム ディスクのスペースは多くの場合大きくありません。これにより、時間の経過とともに Dockerはどんどん大きくなり、最終的にはシステム ディスク領域がいっぱいになるため、現時点では、Docker ストレージ ディレクトリをより大きなディスクに移行して、システム ディスク領域を解放する必要があります。
サーバー上のすべてのディスクの使用状況を確認します:
df -h
赤いボックスがシステム ディスクのサイズであることがわかります。合計サイズは 188G (他のディスクよりもはるかに小さい)以前はいっぱいになっていましたが、ブロガーがすでに移行を行っているため、たくさんのスペースが残っています。
Docker イメージとコンテナの格納ディレクトリの空きサイズを確認する
du -sh /var/lib/docker/
Docker サービスを停止します
systemctl stop docker
ここで奇妙なのは、 systemctl が失敗し続け、その理由が見つからないというエラーが次のように報告されます:
Failed to execute operation: Launch helper exited with unknown return code 1
理由を知っている人は解決方法を教えてください。上記のコマンドを試して失敗した場合は、次のコマンドを使用します:
service docker stop
解決策:
1. docker を次の場所に移行します。大容量ディスク #
# 首先创建目录 mkdir -p 大磁盘目录/docker/lib/ # 迁移 rsync -avz /var/lib/docker 大磁盘目录/docker/lib/
2. /etc/docker/daemon.json を編集し、パラメーターを追加し、docker ディレクトリをバインドします。は追加されたパラメータです
##3. Docker サービスをリロードして再起動しますsystemctl daemon-reload && systemctl restart dockerしかし、それでも systemctl の実行に失敗したため、再起動しました次のコマンドを使用して docker を実行します:
service docker restartdocker が新しいディレクトリにバインドされているかどうかを確認します
docker infoDocker のルート ディレクトリが /var/lib/docker から指定したディレクトリに変更された場合、それを示します。移行は成功しました。
古い docker ディレクトリを削除します
rm -rf /var/lib/docker
推奨される学習: 「docker ビデオ チュートリアル
」以上がDocker のストレージ容量が不十分な場合の対処方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。