独立した IP を介して Windows コンテナ イントラネットの Docker に直接アクセスする方法

独立した IP を介して Windows コンテナ イントラネットの Docker に直接アクセスする方法

Docker では、ポート マッピングを使用して、Docker コンテナーのサービスをホスト マシンまたは LAN 上の他のコンテナーに提供することを公式に推奨しています。一般的なプロセスは次のとおりです。

1. Dockerプロセスはホスト上のポートをリッスンし、ポートのデータパケットをDockerコンテナに送信します。

2. ホスト マシンはファイアウォールを開き、LAN 内の他のデバイスがホスト マシンのポートにアクセスし、docker のポートにアクセスできるようにします。

しかし、実際に使用するとあまり便利ではありません。

以下は、win10 環境で Docker コンテナを独立した IP 経由で LAN に公開する方法を記録します。

Docker のデフォルトの起動モードでは、仮想ネットワーク カードが生成され、コンテナー内に別のネットワーク カードと IP が割り当てられます。この仮想ネットワーク カードは、ホスト マシン上の ipconfig コマンドを通じて確認できます。

コンテナを開くと、コンテナの IP アドレスが自動的に割り当てられていることがわかります。

ホストマシン経由でpingを実行できません

ルーティングテーブルの設定によるIP相互通信の実装

ルートを表示 印刷

dockerのIPアドレスを表示する

ホストに公開されているポートは10.0.75.1です

ルートの追加

ルート -p 172.17.0.0 マスク 255.255.255.0 10.0.75.2 を追加します

コンテナアドレスを再pingする

これで、IP 経由で直接アクセスできるようになりました。

Docker はデフォルトでブリッジ ネットワークを使用し、コンテナーが起動されるたびに IP を自動的に割り当てるため、独自のネットワーク bridge1 を作成し、コンテナーの作成時に IP を指定し、独立した IP アクセスが必要な場合はルートを追加することができます。

のように

ルート -p 172.18.12.0 マスク 255.255.255.0 10.0.75.2 を追加します

ルートを削除する場合:

ルート削除 172.18.12.0

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • DockerイントラネットはDNSを構築し、ip:port操作の代わりにドメイン名アクセスを使用します
  • Docker コンテナでネットワーク リクエストが遅くなる問題の解決策
  • Dockerコンテナ内の独立IPにアクセスする方法
  • docker でプライベート サーバーを構築する方法 (CentOS 上の nginx と ssl を使用した docker-registry)
  • Docker ベースの lanproxy イントラネット侵入サービスの構築の詳細説明
  • Docker コンテナで DockerFile を使用して複数の Tomcat サービスをデプロイする手順
  • Docker イメージの作成、アップロード、プル、およびデプロイ操作 (Alibaba Cloud を使用)
  • Dockerイントラネット侵入FRP展開の実装プロセスの分析

<<:  MySQL 5.7.18 zip バージョンのインストール チュートリアル

>>:  ES6スプレッド演算子の使用例

推薦する

Linux におけるシステム入出力管理の詳細な説明

システムの入力と出力の管理1. システムの入力と出力を理解するLinuxシステムでは、1は正しい出力...

SSH経由でローカルLinux仮想マシンに接続するプロセスを記録する

実験環境:物理マシン Windows 10 x64物理NIC情報IPv4 アドレス: 192.168...

MySQL データベースのバックアップ プロセスに関する注意事項

今日は、データ バックアップに関連するいくつかの点について調べ、MySQL データ バックアップに関...

MySQLの結合クエリ、ユニオンクエリ、サブクエリの原理と使用例の詳細な説明

この記事では、例を使用して、MySQL の結合クエリ、結合クエリ、サブクエリの原理と使用方法を説明し...

Reactの二次連携を実現する方法

この記事では、二次リンクを実現するためのReactの具体的なコードを参考までに共有します。具体的な内...

CSSオーバーフローメカニズムについての簡単な説明

CSS オーバーフローのメカニズムを詳細に学ぶ必要があるのはなぜですか?実際の開発プロセスでは、コン...

Linuxカーネルとデバイスツリーのコンパイルと書き込みを分析する

目次1. 材料を準備する2. Linuxカーネルファイルをダウンロードする3. コンパイル4. TF...

ドメイン名を指定されたポートに転送するようにNginxを設定する方法

/usr/local/nginx/conf と入力する sudo cd /usr/local/ngi...

Linux サーバーのステータスとパフォーマンスに関連するコマンドの詳細な説明

サーバーステータス分析Linux サーバーの CPU の詳細を表示する#CPU情報を表示[root@...

jsはFileReaderを使用してローカルファイルまたはBLOBを読み取ります

目次FileReaderはローカルファイルまたはBLOBを読み取ります1. FileReaderの使...

Jenkins初心者のためのDockerデプロイメントチュートリアルの詳細な説明

この記事では、docker 経由で Jenkins+Maven+SVN+Tomcat をデプロイし、...

proxy_pass を設定した後に Nginx が 404 を返す問題を解決する

目次1. proxy_pass を設定した後に Nginx が 404 を返す問題のトラブルシューテ...

React Hook の使用例 (一般的なフック 6 つ)

1. useState: 関数コンポーネントに状態を持たせる使用例: // カウンター impor...

MySQLとOracleの誤解の詳細な説明

目次本質的な違いデータベースセキュリティ権限スキーマの移行パターンオブジェクトの類似性スキーマオブジ...

node_modulesを削除して再インストールする方法

目次ステップ1: プロジェクトをインストールするディレクトリにnode_modulesをインストール...