docker runの--rmオプションの使用方法

docker runの--rmオプションの使用方法

Docker コンテナが終了しても、デバッグを容易にし、ユーザー データを保持するために、デフォルトのコンテナ内のファイル システムは保持されます。

ただし、フォアグラウンド コンテナは開発やデバッグの過程で短時間しか実行されないため、ユーザー データを保持する必要はありません。そのため、コンテナの起動時に --rm オプションを設定することで、コンテナ終了時にコンテナ内のファイル システムを自動的にクリーンアップすることができます。

次に例を示します。

docker run --rm ba-208

同等

docker run --rm=true ba-208

当然ながら、--rm オプションは -d オプションと一緒に使用することはできません (または、一緒に使用しても意味がありません)。つまり、自動的にクリーンアップできるのはフォアグラウンド コンテナーのみであり、デタッチされたコンテナーはクリーンアップできません。

--rm オプションはコンテナの匿名データボリュームもクリーンアップすることに注意してください。

したがって、--rm コマンド オプションを指定して docker run コマンドを実行することは、コンテナの終了後に docker rm -v を実行することと同じです。

追加知識: docker run --cap-add パラメータを使用して権限の問題を解決します (gdb デバッグを使用できない、date -s を使用して時間を変更できない)

問題: docker コンテナ内の CentOS で gdb デバッグが使用できない

ptrace: 操作は許可されていません

ソリューション参照: クリックして入力

docker runコマンドにパラメータ--cap-add=SYS_PTRACEを追加します。

docker を実行して --cap-add=SYS_PTRACE を実行します......

詳しいキャップについてはマニュアルをご覧ください

詳しくは、man7.org/linux/man-pages/man7/capabilities.7.html を参照してください。

あまりエレガントではないが、推奨されないアプローチもあります。–privileged を使用して解決します。–privileged は –cap-add=ALL と同等です。

同様の問題として、date -sを使用してdockerマシンの時刻を変更できないという点があります。

解決:

docker を実行して --cap-add=SYS_TIME --cap-add=SYS_PTRACE ...

docker run の --rm オプションの使い方は以上がエディターが皆さんにシェアしている内容です。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Dockerサーバーのストレージリソースプール不足問題の解決
  • docker-compose が遅すぎる場合の解決策の詳細な説明
  • DockerでGDBを使用するときにブレークポイントを入力できない問題を解決する

<<:  myBatis で条件を削除する際のスプライシング問題を解決する

>>:  HTML フォーム_PowerNode Java アカデミー

推薦する

実用的な情報が満載のJavaScript Webフォーム機能通信

1. はじめに先ほど、フロントエンドの表示の問題について説明しました。では、前のコンテンツに戻って、...

MySQL SELECT文の実行方法

MySQL Select ステートメントはどのように実行されますか?最近、Geek Time で D...

htmlダウンロード機能の詳しい説明

新しいプロジェクトは基本的に終了しました。フロントエンドとバックエンドを分離して統合を完了したのは初...

JSはカード配布アニメーションを実現します

この記事の例では、カード配布アニメーションを実装するためのJSの具体的なコードを参考までに共有してい...

Reactコンポーネントをフルスクリーンにする方法

導入この記事は、 React + antdをベースにして、完全な全屏demoを紹介します。その理由は...

Linux のメモリ管理とアドレス指定の詳細な紹介

目次1. コンセプトメモリ管理モード住所種別分類例: 2. ページ管理x86 アーキテクチャ 32 ...

現在のマウススライドの座標を取得するVue+openlayer5メソッド

序文: Vue プロジェクトで現在のマウスの座標を取得するにはどうすればよいでしょうか。ここで共有す...

MySQL innodb_autoinc_lock_mode について

innodb_autoinc_lock_mode パラメータは、auto_increment 列を持...

Ubuntu 20.04 は Wi-Fi に接続します (2 つの方法)

最近Ubuntu 20.04をインストールしましたが、Wi-Fiに接続できず、Wi-Fiアイコンも表...

js で継承を実装する 5 つの方法

コンストラクタの借用この手法の基本的な考え方は単純です。サブタイプ コンストラクター内からスーパータ...

select count() と select count(1) の違いと実行方法

Count(*) または Count(1) または Count([column]) は、おそらく S...

ティックアニメーション効果を作成するための svg+css または js

以前、上司からログイン後にチェックマークを表示できるプログラムを作るように言われたのですが、Baid...

...

タイプライター効果を実現する純粋な js

この記事の例では、タイプライター効果を実現するためのjsの具体的なコードを参考までに共有しています。...

Ubuntu の Docker で mysql5.6 をインストールする方法

1. mysql5.6をインストールする docker 実行 mysql:5.6すべてのアイテムのダ...