[解決済み] Docker: 実行中のDockerコンテナの停止と削除
2022-05-17 04:16:10
質問
私は、実行中のDockerコンテナを実用的に停止し、削除することを探しています。 これは、ビルドスクリプトのためです。
次のような例を考えてみましょう。 bash スクリプトの NAMES 列の下に表示されている docker コンテナ "rabbitmq" をどのように停止および削除すればよいでしょうか。
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9909a5e2856f rabbitmq-image "/docker-entrypoint.s" 11 minutes ago Up 11 minutes 0.0.0.0:5672->5672/tcp, rabbitmq
8990dd1fe503 redis-image "/entrypoint.sh redis" 6 weeks ago Up 4 days 0.0.0.0:32770->6379/tcp redis
etc
次のコマンドはコンテナを削除し、私が求めていることを実行します。
docker stop rabbitmq && docker rm -f rabbitmq
しかし、私が知りたいのは、それをスクリプトに結合することです?以下のような感じでしょうか。
#!/bin/bash
if [ /*docker ps check some value */ ]; then
docker stop rabbitmq && docker rm -f rabbitmq
fi
どのように解決するのですか?
お気づきのように
docker stop
と同様に
docker rm
は、コンテナが存在しないか、または実行されていない場合、失敗を示すステータスコードで終了します。この結果、ビルドは失敗します。
ビルドログのエラーメッセージに対処できるのであれば、シェルコマンドの失敗を防ぐために、この小さなトリックを行うことができます。
docker stop rabbitmq || true && docker rm rabbitmq || true
dockerコマンドのいずれかに失敗した場合。
true
が呼び出され、常に成功を示すステータスコードで終了します。
関連
-
[解決済み] bash スクリプトを実行しているドッカーエントリーポイントが "パーミッション拒否" になる
-
[解決済み] Dockerコンテナの中から、マシンのローカルホストに接続するにはどうすればよいですか?
-
[解決済み] Docker Dockerコンテナからホストへのファイルコピー
-
[解決済み] ホストからDockerコンテナにファイルをコピーする方法は?
-
[解決済み] 古くて使われていないDockerイメージを削除する方法
-
[解決済み] Dockerイメージをコンテナとして実行する
-
[解決済み] 既に起動しているDockerコンテナに新しいTTYで入る方法
-
[解決済み] Dockerコンテナの実行と起動の違いについて
-
[解決済み】Dockerイメージとコンテナの違いは何ですか?
-
[解決済み】"docker run -d "の後、Dockerコンテナが自動的に停止する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] コマンドが空の文字列を出力するかどうかをテストする
-
[解決済み] 指定した名前のDockerコンテナが存在しない場合のみ、Bashコマンドを実行するにはどうすればよいですか?
-
[解決済み] bash で "set -o nounset" を使用したときに変数が設定されているかどうかをテストする。
-
[解決済み] bashでalt + numericを押すと(arg [numeric])と出ますが、これは何でしょう?
-
[解決済み] find "の結果をカウントするのに最適な方法は何ですか?
-
[解決済み] bashで端末の最終行を削除して置換するには?
-
[解決済み] Docker: 実行中のDockerコンテナの停止と削除
-
[解決済み] Bashでディレクトリではなく、ファイルだけをリストアップする方法は?
-
[解決済み] homebrew パッケージがインストールされているかどうかを検出する
-
[解決済み] bash で文字列をエスケープするコマンド