Dockerはコンテナに入るためにnsenterツールを使用する

Dockerはコンテナに入るためにnsenterツールを使用する

Dockerコンテナを使用する場合は、nsenterツールを使用する方が便利です。システムにない場合は、自分でインストールする必要があります。

1. まずこのウェブサイトにアクセスして、nsenterツールの最新バージョンを見つけてください。

2. 次に、nsenterツールのソースコードをホストにダウンロードします。

次のコマンドを入力します:

# wget https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.32/util-linux-2.32.tar.gz

3. .tar.gzパッケージを解凍する

# tar -xzvf util-linux-2.32.tar.gz

4. util-linux-2.32のディレクトリに入る

# cd util-linux-2.32/

5. ./configure --without-ncursesコマンドを入力します。

6. make nsenterコマンドを入力してnsenterをコンパイルします。

7. nsenterを/usr/local/binパスにコピーする

# cp nsenter /usr/local/bin

8. nsenterの使い方を確認する

# nsenter --help

9. コンテナに接続するには、コンテナの最初のプロセスのPIDを見つける必要があります。これは次のコマンドで取得できます。

形式:

PID=$(docker inspect --format "{{ .State.Pid}}" <コンテナID>)

この PID を取得すると、このコンテナに接続できます。

形式:

nsenter --target $PID --mount --uts --ipc --net --pid

10. コンテナ内の最初のプロセスのPIDを取得する

実行中のコンテナを表示するには、# docker ps コマンドを入力します。

コンテナを表示するにはコマンドを入力してください

c74e0f07a914 のプロセスの PID# docker inspect -f {{.State.Pid}} c74e0f07a914

10. プロセスのPIDを取得し、コンテナに入る

コマンドを入力してください

# nsenter --target 21140 --mount --uts --ipc --net --pid

コンテナに正常に入りました。21140 はコンテナ c74e0f07a914 のプロセス PID です。

nsenter ツールを使用して Docker のコンテナーに入る上記の操作は、エディターが皆さんと共有する内容のすべてです。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Portainer を使用して Docker のビジュアル インターフェースを構築する方法
  • portainer を使用してリモート docker に接続するチュートリアル
  • Docker で Portainer ビジュアル インターフェースを構築するための詳細な手順
  • Linux での Docker と portainer の設定方法
  • Dockerイメージ解析ツールのダイブ原理解析
  • Dockerで構築されたコンテナにpingツールをインストールする
  • Raspberry Pi 3B+ に 64 ビット Ubuntu システムと Docker ツールをインストールする詳細な手順
  • Docker.v19 で Docker Compose オーケストレーション ツールをインストールして構成する方法
  • Docker 用ビジュアル UI 管理ツール Portainer のインストールと使用方法の分析

<<:  MySQL がタイムスタンプを使用するときにタイムゾーンの問題を無視できるのはなぜですか?

>>:  XHTMLタグは適切に使用する必要があります

推薦する

JSは要素のドラッグとプレースホルダー機能を実装します

このブログ投稿は、ブロガーが数日前に取り組んだプロジェクトで遭遇した困難についてです。これを学んだ後...

Centos8 で yum を使用して rabbitmq をインストールするチュートリアル

/etc/yum.repos.d/フォルダに入るrabbitmq-erlang.repo ファイルを...

MySQLの整数データ型tinyintの詳細な説明

目次1.1Tinyint型の説明1.2 練習環境の説明1.3 未署名属性の追加1.3.1 SQLモー...

Vue バックエンド管理システムのページング機能の実装例

この記事では、主に Vue バックグラウンド管理システムのページング機能の実装を紹介し、次のように共...

js を使用して QR コードを生成するサンプル コード

以前、プロジェクトでQRコードをスキャンして情報を表示する機能を開発する必要がありました。インターネ...

Redission-tomcatは、単一マシンから複数マシンへの展開を迅速に実装します。

序文一部のプロジェクトの初期段階では、シンプルさとスピードのために、開発と展開は単一のマシンで行われ...

MySql テーブル内の行を削除する実用的な方法

まず、どのフィールドまたはフィールドの組み合わせがデータ行を一意に識別できるかを決定する必要がありま...

CSSをインポートする方法に関する詳細な洞察の要約

CSS の開発履歴についてはここでは紹介しません。ブログを書いている理由の 1 つは、フロントエンド...

vuex ベースのショッピングカート機能の実装

この記事の例では、ショッピングカート機能を実装するためのvuexの具体的なコードを参考までに共有して...

VMware仮想マシンにdeepin20をインストールする最も完全で詳細なプロセス

仮想マシンソフトウェア: VMware Workstationイメージ: deepin-deskto...

既存のMySQLデータベースの文字セットを統一する方法

序文データベースでは、一部のデータ テーブルとデータは latin1 であり、一部のデータ テーブル...

CSSを使用してAndroidシステムの読み込みアニメーションを実装する

Web には一般的な読み込みアイコンが 2 つあります。1 つは iOS の「菊」、もう 1 つは ...

この記事では、MySQLのマスタースレーブ同期の原理を説明します。

目次MySQL マスタースレーブ同期原理の簡単な分析1. マスタースレーブとは何ですか? 2. 主従...

React リストバーとショッピングカートコンポーネントの使用の詳細な説明

この記事では、Reactリストバーとショッピングカートコンポーネントの具体的なコードを参考までに紹介...

Photoshop を使って Web ワイヤーフレームを作成する方法

この投稿では、通知、画像とビデオ、フォーム フィールド、タイトル、段落、箇条書きリスト、ナビゲーショ...