独立した 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スプレッド演算子の使用例

推薦する

JavaScript コードベースをよりクリーンにする 5 つの方法

目次1. 短絡や条件文の代わりにデフォルトのパラメータを使用する2. 複数の条件の処理3. スイッチ...

MySQL 文字列分割操作 (区切り文字を含む文字列のインターセプション)

区切り文字なしの文字列抽出質問の要件データベース内のフィールド値:実装効果: 1行のデータを複数行に...

フロントエンド JavaScript におけるリフレクションとプロキシ

目次1. 反射とは何ですか? 2. JavaScriptで反映する2.1 Reflect.get(タ...

JavaScript の数値および数学オブジェクトの概要

目次1. JavaScript における数値2. Javascript の Math オブジェクト1...

WeChatアプレットがシンプルな計算機機能を実装

この記事では、WeChatアプレットの計算機機能を実装するための具体的なコードを参考までに紹介します...

CentOS 7 で Apache (httpd) サービスをインストールおよびアンインストールする詳細な手順

アンインストールまず、次のコマンドを使用して、httpd サービスがインストールされているかどうか、...

CocosCreator最適化DrawCallの詳細な説明

目次序文ドローコールとはDrawCall はパフォーマンスにどのような影響を与えますか?ドローコール...

MySQL でのデータベース間クエリの例

序文MySQL では、クロスデータベース クエリは主に 2 つの状況に分けられます。1 つは同じサー...

Apache ab を使用して HTTP パフォーマンス テストを実行する

MacにはApache環境が付属していますターミナルを開き、sudo apachectl -v と入...

React.Childrenの詳しい使い方

目次1. React.Children.map 2. React.Children.forEach ...

jsは、州、市、地区の3レベルのリンクの非選択ドロップダウンボックスバージョンを実現します。

インターネットで3レベルリンクを検索したところ、すべてオプションで書かれていました。突然、別の方法で...

フィールドを結合するSQL関数

最近、関連テーブル内のすべてのフィールドをクエリし、それらを 1 つのフィールドに再グループ化する必...

Linux yum コマンドを使用して mysql8.0 をインストールする方法の詳細なチュートリアル

1. 設置前によく掃除する rpm -pa | grep mysql または rpm -qa | g...

ウェブページ作成のテスト問題を全て解けますか?

Web ページのデザインに関する質問です。すべてに答えられるでしょうか? 1. 単一選択の質問 (...

Docker-Composeコマンドの使い方の詳しい説明

Docker コンテナはさまざまな方法で管理およびデプロイできます。 Docker コマンドを直接使...