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 ファイルを削除した後にデータを回復する方法

推薦する

JSscriptタグの属性は何ですか

JS スクリプト タグの属性は何ですか? charset : オプション。 src 属性で指定された...

効率を向上できる Linux コマンドエイリアス 10 個のまとめ

序文Linux 環境で作業するエンジニアは、これらの面倒な命令とパラメータのコマンドラインにきっと驚...

CUDA10.0 のインストールと Ubuntu での問題

Tensorflow バージョンと Cuda および CUDNN の対応: https://tens...

Vueは小さなメモ帳機能を実装しました

この記事の例では、メモ帳の小さな機能を実現するためのvueの具体的なコードを参考までに共有しています...

Dockerは同じIPネットワークセグメントとの接続を実現する

最近、Docker とホストが同じネットワーク セグメント上で通信する問題を解決し、そのプロセス全体...

a href=# と a href=javascript:void(0) の違いの詳細な説明

a href="#"> リンクをクリックすると、ページがページ上部までスク...

HTML ページ出力で従うべきいくつかの原則の要約

1. DOCTYPE は必須です。ブラウザは宣言した DOCTYPE に基づいてページのレンダリング...

Vueはシンプルなコメント機能を実装します

この記事では、Vueの簡単なコメント機能を実装するための具体的なコードを参考までに共有します。具体的...

ページデザインにおけるテーブルとdivの適切な適用についての簡単な説明

この記事の冒頭で、以前書いた入門記事の間違いを訂正したいと思います。初心者を再び誤解させないように、...

JavaScript BOM ロケーション オブジェクト + ナビゲーター オブジェクト + 履歴オブジェクト

目次1. 場所オブジェクト1. URL 2. 場所オブジェクトのプロパティ3. ロケーションオブジェ...

Linux でスワップ領域を確認する 5 つのコマンドの概要

序文Linux では、スワップ パーティションとスワップ ファイルの 2 種類のスワップ領域を作成で...

Spring jdbc のデータベース操作オブジェクト モデルの詳細な例

Spring jdbc のデータベース操作オブジェクト モデルの詳細な例Spring Jdbc デー...

Ubuntu 18.04 のすべての Python ライブラリを一度にアップグレードする方法

ピップとは何かpip は、Python パッケージの検索、ダウンロード、インストール、アンインストー...

検索履歴を実装するjQueryプラグイン

毎日jQueryプラグイン - 検索履歴を作成するためのものです。参考までに、具体的な内容は次のとお...

フレックスレイアウトによるシームレスなスクロールのサンプルコード

この記事では、シームレスなスクロールを実現するためのフレックスレイアウトのサンプルコードを主に紹介し...