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 アカデミー

推薦する

突然外部ネットワークからDockerにアクセスできなくなる問題の解決方法

マスターのメソッドによると、原因は sysctl net.ipv4.ip_forward であること...

Innodb で MySQL の 2T テーブルをすばやく削除する方法の例

序文この記事は主に、MySQL の Innodb で 2T の大きなテーブルをすばやく削除する方法に...

HTML構造化実装方法

DIV+css構造 CSSレイアウトを学んでいますか?まだ純粋な CSS レイアウトを完全に習得でき...

VirtualBox での CentOS 8.1 仮想マシンのインストールを最小限に抑える詳細なチュートリアル

1. 関連ツールと画像をダウンロードするダウンロードリンクバーチャルボックス: https://do...

VMware および CentOS システムのインストール方法 - ルート パスワードをリセットする

今日のタスク1. Linuxディストリビューションの選択2.vmwareが仮想マシン(centos)...

Nginxのアクセス制限設定の詳細な説明

Nginxのアクセス制限設定とはNginx のアクセス制限は、IP ベースのアクセス制御とユーザーベ...

MySQL 5.7 zip アーカイブ バージョンのインストール チュートリアル

この記事では、MySQL 5.7 zipアーカイブ版のインストールチュートリアルを参考までに紹介しま...

ul リスト タグ デザイン ウェブ ページ 複数列レイアウト

数日前、CSS で 3 列レイアウトを書いていたときに、突然この方法を思いつきました。このアイデアは...

vue-element-admin グローバル読み込み待機中

最近の要件:グローバルロード、すべてのインターフェースはロード待機機能を表示するかどうかを手動で制御...

MySQL最適化ソリューション: スロークエリログを有効にする

目次序文スロークエリログの設定テスト付録: ログ解析ツール mysqldumpslow要約する序文こ...

JSX を使用してカルーセル コンポーネントを実装する方法 (フロントエンドのコンポーネント化)

JSX を使用してコンポーネント システムを構築する前に、例を使用してコンポーネントの実装原理とロ...

Linux で AutoFs マウント サービスをインストールするチュートリアル

Samba サービスでも NFS サービスでも、サーバーの起動時にリモート共有リソースが自動的にマ...

MySQLの最適化の詳細な分析とパフォーマンス

導入データベースを使用したことがある人なら、機能面での like 記号と = 記号の類似点と相違点を...

カスタムスクロールバー効果を実現するJavaScript

実際のプロジェクトでは、上下のスクロール バーと左右のスクロール バーは DIV 内にないため、右の...

ユーザー中心設計

最近、デジタル デザイン コミュニティで「誰が何を担当するのか」という明らかな混乱についてよく質問さ...