`dockerContainerrm`と`dockercontainerkill`は実際に同じ効果を得ますか?

`dockerContainerrm`と`dockercontainerkill`は実際に同じ効果を得ますか?

マンページから:

docker container rm1 つ以上のコンテナがホストノードから削除されます。コンテナ名またはIDを使用できます。画像は削除されません。

docker container kill: 指定された各コンテナ内の基本プロセスは、SIGKILL または --signal オプションで指定されたシグナルを送信します。

コンテナは実行中のイメージインスタンスですか?それでは、コンテナがもう存在しないという同じ目標をdocker container rm効果的に達成することができますか?docker container kill

それらの違いは何ですか?

「コンテナ内部の主なプロセス」とは何ですか?

コンテナはホストシステムのプロセスとまったく同じように実行されますか?

ありがとうございます。

ベストアンサー1

コンテナを運営する場合...

例えば

docker run alpine echo hello

すると、きれいに見えますが…

% docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

しかし、そうではなく、まだ存在します。

% docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
3a4772c0f165        alpine              "echo hello"        22 seconds ago      Exited (0) 20 seconds ago                       relaxed_ramanujan

rmこれは次のコマンドでクリーンアップできます。

% docker container rm 3a4772c0f165 
3a4772c0f165

% docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

だから:

  • docker killコンテナを殺します。
  • docker rm終了したコンテナは清掃されます。

それらは互いに異なります。

注:コンテナを自動的に清掃するように指示できます。

% docker run --rm alpine echo hello
hello

% docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

これで手動で行う必要はありませんrm

おすすめ記事