アプリとインフラストラクチャの間に独立性を生み出すための包括的でオープンソースのコンテナプラットフォームが必要な場合は、Dockerが最も安全な方法です。あなたがそれを使う機会があったなら、あなたはそれがどれほど能力がありそして使いやすいかをすでに知っています
多くのクラウドおよびIT企業はそれが非常に有用であると感じており、その人気は間違いなく当然のことです。
それでも、これでは完璧にはなりません。その証拠は、イメージ、ボリューム、コンテナー、およびネットワークの削除に伴う制限に見ることができます。これらのコマンドは使用できますが、ユーザーが望むほど包括的ではありません。
ここでは、ユーザーが直面する主な問題とその解決策を確認できます。画像とコンテナを簡単に削除する方法を学びます。
問題
コンテナテクノロジーは、オペレーティングシステムを視覚化する方法を提供します。アプリを実行するために必要なすべてのものをパッケージ化できるため、OSから独立して動作できます。
コンテナイメージは、アプリが正しく機能するために必要なすべてのものを含む、自己完結型の実行可能アプリパッケージです。各イメージには、ランタイム、コード、構成、およびシステムツールとライブラリが含まれています。
Dockerを使用すると、これらのイメージが蓄積されます。時間の経過とともに、多数の未使用のイメージ、データボリューム、およびコンテナーが蓄積され、混雑したDocker環境が作成されます。この場合、プラットフォームが正常に機能するように環境を更新する必要があります。
これを実現できるコマンドは複数あるので、Docker環境を整理する主な方法を見てみましょう。
Dockerイメージの削除
不要な画像を削除する前に、それらを有用な画像と区別する必要があります。これは、イメージ管理コマンドを使用して、システムに含まれるすべてのイメージを一覧表示することで簡単に実行できます。
外観は次のとおりです。
$ docker image#list最近作成された画像
または
$ docker image -a#すべての画像を一覧表示
2番目のコマンドを使用すると、すべてのDockerイメージが表示されます。あなたがしなければならないのは、いわゆる「ぶら下がっている画像」を見つけることです。これらはすべて、タグを含まないDockerイメージです。タグがないと、タグ付けされた画像との接続がありません。つまり、それらはもう役に立たないということです。
画像IDを使用して、1つまたは複数の画像を削除できます。これを行うには、次のいずれかのコマンドを使用します。
$ docker rmi d65c4d6a3580#単一の画像を削除する
$ docker rmi 612866ff4869 e19e33310e49 abe0cd4b2ebc#複数の画像を削除
より便利な解決策は、-fフィルターフラグを使用してすべてのぶら下がっている画像を一覧表示することです。
これらのイメージを削除してディスク領域をクリーンアップするには、次のいずれかのコマンドを使用します。
$ docker image prune#ぶら下がっている画像をインタラクティブに削除
または
$ docker rmi $(docker images -q -f dangling = true)
同様の方法ですべてのDockerイメージを削除できます。 $ docker images –aコマンドを使用してそれらをリストし、次に以下を使用してそれらを削除します。
$(docker rmi $(docker images -a -q)
別のオプションは、特定のパターンに従う画像を削除することです。それらを一覧表示するには、次のコマンドを使用します。
$ docker画像-a | grep「パターン」
次に、以下を使用してそれらを削除します。
$ docker画像-a | grep「パターン」| awk '{print $ 3}' | xargs docker rmi
コンテナの削除
Dockerを一定時間使用した後に実行したいもう一つのことは、1つ以上のコンテナーを削除することです。
画像の削除と同様に、最初に次のコマンドを使用してそれらを一覧表示する必要があります。
$ docker ps
または
$ docker ps -a
削除したいコンテナが見つかったら、そのIDを使用して削除します。
$ docker rm 0fd99ee0cb61#単一のコンテナーを削除します
$ docker rm 0fd99ee0cb61 0fd99ee0cb61#複数のコンテナーを削除します
削除しようとしているコンテナが実行中の場合は、次のコマンドを使用してコンテナを停止できます。
$ docker stop 0fd99ee0cb61
$ docker rm -f 0fd99ee0cb61
最後に、次のコマンドを使用して、不要なコンテナをすべて停止および削除できます。
$ docker stop $(docker ps -a -q)#すべてのコンテナーを停止します
$ docker container prune#停止したすべてのコンテナーをインタラクティブに削除します
または
$ docker rm $(docker ps -qa)
これにより、貴重なディスクスペースを解放し、最初からやり直すことができます。
最後の言葉
ご覧のとおり、Dockerイメージとコンテナを削除することはそれほど困難ではありません。これらのコマンドがわかったので、Dockerエクスペリエンスをより細かく制御できます。
もちろん、これらはコマンドの一部にすぎず、他のさまざまな組み合わせを使用できます。それでも、これらは問題なく機能するので、気軽に試してみてください。