Dockerは異常なコンテナ操作を排除する

Dockerは異常なコンテナ操作を排除する

この初心者は、Docker を学び始めたばかりの頃にこのような問題に遭遇しました。記録しておきます。

コンテナを起動すると、docker ps は新しく起動したコンテナに問題があることを示します。

その後、docker logs <コンテナ ID> は権限が不十分であり、ディレクトリを作成できなかったことを認識しました。その後、起動したいのですが、現在のコンテナは常に再起動していました。docker stop を試したところ、成功が返されました。次に、docker ps を実行すると、現在のコンテナがまだ存在していることが示されました。次に、docker kill を試したところ、コンテナが起動していないというメッセージが表示されました。docker -help で確認し、docker rm でコンテナを削除しました。

ただし、このコマンドでは再起動状態のコンテナを削除することはできません。

まず docker stop <コンテナ ID> を実行し、次に docker rm を実行する必要があります。

もちろん、権限不足のため起動に失敗しました。Docker コンテナには、--privileged=true パラメータを追加する権限がありません。

docker-compose を実行する場合、docker-compose up はコンテナを再作成するのではなく、既存のコンテナの使用を優先します。コンテナを再作成するには、--force-recreate パラメータを指定する必要があります。docker-compose up -d --force-recreate

私はdocker初心者なので、遭遇した問題を記録します。批判しないでください。

補足: Dockerは停止したコンテナを大量に削除する

1. やり方

公式の推奨事項は、docker rm $(sudo docker ps -a -q) を使用して、コンテナを一括で削除および停止することです。

docker rm -f $(sudo docker ps -a -q) は使用しないでください。すべてのコンテナが削除されます。

2. なぜこれをするのですか?

1. docker ps -a -q

docker ps コマンドの説明:

docker ps -a -q はすべてのコンテナの数値IDを一覧表示します
root@haha:~# docker ps --help
使用方法: docker ps [オプション]
コンテナの一覧
オプション:
 -a, --all すべてのコンテナを表示(デフォルトでは実行中のコンテナのみを表示)
 -f, --filter value 指定された条件に基づいて出力をフィルタリングします (デフォルト [])
   --format string Go テンプレートを使用してコンテナをきれいに印刷する
   --help 使用方法を表示する
 -n, --last int 最後に作成されたコンテナを n 個表示します (すべての状態を含む) (デフォルト -1)
 -l, --latest 最後に作成されたコンテナを表示します(すべての状態を含む)
   --no-trunc 出力を切り捨てない
 -q, --quiet 数値​​IDのみ表示
 -s, --size 合計ファイルサイズを表示

具体的には、docker psはコンテナを一覧表示するコマンドです。

-a はすべてのコンテナを一覧表示します -q は数値IDのみを表示します

2. docker rm コマンドの説明:

root@haha:~# docker rm --help
使用方法: docker rm [OPTIONS] CONTAINER [CONTAINER...]
1つ以上のコンテナを削除する
オプション:
 -f, --force 実行中のコンテナを強制的に削除する(SIGKILL を使用)
   --help 使用方法を表示する
 -l, --link 指定されたリンクを削除する
 -v, --volumes コンテナに関連付けられたボリュームを削除します

-f 強制削除、実行中のコンテナを削除できます

-v コンテナ起動後はハードディスク上にボリュームの形でデータが存在します。コンテナデータを削除しても削除されません。このパラメータを追加すると、コンテナが実行したデータも削除されます。

上記は私の個人的な経験です。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。間違いや不備な点がありましたら、遠慮なくご指摘ください。

以下もご興味があるかもしれません:
  • kubernetes1.20 で docker (shim) を containerd に置き換える問題について説明します。
  • Dockerコンテナを終了した後も実行を継続する方法
  • さようなら Docker: 5 分で Containerd に移行する方法
  • Dockerはコンテナにポートを動的に公開します
  • Dockerイメージ内のnoneイメージ操作を削除する
  • Dockerイメージのローカル移行の実装
  • Dockerイメージが消える問題を解決する
  • Docker イメージを削除できません エラー: そのようなイメージはありません: xxxxxx 解決策
  • Dockerでイメージを削除する方法
  • Docker でのコンテナとイメージの命名

<<:  4つの柔軟なScssコンパイル出力スタイル

>>:  mysql5.7.33 で誤って ibdata ファイルを削除した後にデータを回復する方法

推薦する

DockerコンテナにNFS共有ディレクトリをマウントする実装

以前、https://www.jb51.net/article/205922.htm で、Docke...

MySQL 5.7 のルートパスワードログイン問題の解決策

前回の記事でMySQLサービスが起動しない問題が解決したと分かった後、パスワードなしでrootユーザ...

Linuxのtimeコマンドの使い方の詳しい説明

1. コマンドの紹介時間は、コマンドの実行に費やされた時間や関連するシステム リソース、その他の情報...

Linuxプロセスネットワークトラフィック統計の実装プロセス

序文Linux には、ネットワーク接続、プロセス、およびその他の情報をリアルタイムで収集するための対...

リンク内の href=# はどういう意味ですか?

現在のページへのリンク。 -------------------一般的な使用法は次のとおりです。 &...

Vueはマーキースタイルのテキストの水平スクロールを実装します

この記事では、マーキースタイルのテキストの水平スクロールを実現するためのVueの具体的なコードを参考...

MySQL 8.0 のメモリ消費の詳細な分析

目次1. innodb_buffer_pool_size 2. innodb_log_buffer_...

Vue プロジェクトで mock を使用する方法をご存知ですか?

目次最初のステップ: 2 番目のステップは、request.js で関連する構成を行うことです。re...

Vue ページレンダリングにおけるキーの適用例チュートリアル

導入フロントエンドプロジェクトの開発プロセスでは、el-table によって表示される結果列がコンポ...

Zabbix ベースの Jenkins プロセス監視の詳細な説明

1. 監視アーキテクチャ図 2. 実装のアイデアJenkins に Metrics プラグインをイン...

Docker で Maven プロジェクトをより速くビルドする

目次I. 概要2. 従来の多段階イメージ構築3. Buildkitを使用してイメージをビルドする4....

Tomcat サーバーの応答が遅い場合の解決策

1. 分析的思考1. 機械自身の理由を排除する2. サーバーパフォーマンス分析3. プロジェクト自体...

純粋な CSS を使用して脈動するローダー効果のソースコードを作成する

効果プレビュー右側の「クリックしてプレビュー」ボタンを押すと現在のページでプレビューが表示され、リン...

HTML で margin:0 auto を使用するとページ全体が中央に配置されない問題の解決方法

今日、jsp ページを書きました。<div style="margin:0 auto...

HTML ベースタグ target=_parent の使用の紹介

<base> タグは、ページ上のすべてのリンクのデフォルトのアドレスまたはデフォルトのタ...