Dockerはコンテナにポートを動的に公開します

Dockerはコンテナにポートを動的に公開します

コンテナのIPアドレスを表示する

docker examine <コンテナ名またはID> | grep IPアドレス

コンテナのマップされたポートを表示する

docker port <コンテナ名またはID>
例えば。
docker ポート d8dac7399647
docker ポート hfq-jedi-zxf-eden

iptablesを使用してコンテナマッピングを表示する

iptables -t nat -nvL

iptables -t nat -nvL --行番号

新しいポートマッピングを追加する例

##ホストポート31101をコンテナポート6379にマップする

iptables -t nat -A PREROUTING -p tcp -m tcp --dport 31101 -j DNAT --to-destination 192.168.42.2:6379

iptablesルールを保存する

iptables 保存

例示する

192.168.42.2 は docker examine <コンテナ名またはID>| grep IPAddress の結果です。

ポートマッピングが完了した後、docker ポート d8dac7399647 経由で結果を照会することはできません。

できる

iptables -t nat -nvL | grep 192.168.42.2

クエリマッピング関係

追加知識: Docker コンテナ通信のメカニズムとポート公開の問題

Docker コンテナ間の通信には、これまでリンク方式が使われてきました。この方法では、各コンテナの起動順序が制限されるため、柔軟性に欠けるという問題がありました。そこで今回は、Docker 独自のネットワーク カードで割り当てられた LAN を介してコンテナに直接アクセスする方法を検討しました。

Docker ポート公開とは、docker0 ネットワーク カードの転送を通じて、コンテナー自体のポート サービスを公開されたポートに転送することを意味します。たとえば、次のように実行します。

docker run -dit -p 8080:12345 --name=コンテナ名 イメージ名

docker0 ネットワーク カードによって割り当てられた 172.17.0.x ローカル エリア ネットワークを使用してアクセスする場合は、ポート 12345 を使用します。 192.168.1.xまたはその他のローカルパブリックIPを使用してアクセスする場合は、8080を使用してアクセスする必要があります。

時間が限られているので、今は詳しく分析しません。時間ができたら写真付きで分析します。

Docker が動的にポートをコンテナに公開することに関する上記の記事が、私が皆さんに共有できるすべてです。これが皆さんの参考になれば幸いです。また、123WORDPRESS.COM をサポートしていただければ幸いです。

以下もご興味があるかもしれません:
  • kubernetes1.20 で docker (shim) を containerd に置き換える問題について説明します。
  • Dockerコンテナを終了した後も実行を継続する方法
  • Dockerは異常なコンテナ操作を排除する
  • さようなら Docker: 5 分で Containerd に移行する方法
  • Dockerイメージ内のnoneイメージ操作を削除する
  • Dockerイメージのローカル移行の実装
  • Dockerイメージが消える問題を解決する
  • Docker イメージを削除できません エラー: そのようなイメージはありません: xxxxxx 解決策
  • Dockerでイメージを削除する方法
  • Docker でのコンテナとイメージの命名

<<:  Vue ミックスインの使用方法とオプションのマージの詳細な説明

>>:  MySQLデータベースエンジンをInnoDBに変更する

推薦する

JavaScript における URL オブジェクトの素晴らしい使い方

目次序文解析パラメータURLパラメータを変更する要約する序文URLオブジェクトはページ側ではあまり使...

適応的な幅と高さを持つ9つの正方形グリッドの背景画像の切り取りの分析

<br />幅と高さが適応するオリジナルの 9 グリッド レイアウトをベースに、ネットワ...

Dockerを使用してMySQLデータベースをインストールするDeepinの詳細な説明

まずMySQLソースをクエリするdocker 検索 mysql公式ウェブサイトにアクセスしてイメージ...

JSインターセプト文字列の3つの方法の詳細な説明

JS には、文字列をインターセプトするための 3 つのメソッド、 slice() 、 substri...

ネイティブJavaScriptでカルーセルを実装する

この記事では、JavaScriptでカルーセルを実装するための具体的なコードを参考までに紹介します。...

HTML 選択オプション デフォルトの選択方法

オプションに属性 selected = "selected" を追加すると、それ...

Q&A: XML と HTML の違い

Q: xml と html の違いがわかりません。違いは何ですか? A: XMLと HTML の違い...

非常に詳細な MySQL8.0.22 のインストールと設定のチュートリアル

みなさんこんにちは。今日は、MySQL 8.0.22 のインストールと構成について学習します。注意深...

XHTML の一般的なタグ

XHTML タグとは何ですか? XHTML タグ要素は、XHTML ドキュメントの基本的なコンポーネ...

ウェブデザインでテキストのサイズを合わせる方法: 小さなテキスト、大きな体験

iPadなどのモバイル端末の普及により、人々がモバイル端末で読書に費やす時間はますます長くなり、読...

nginx を使用して wgcloud へのアクセスを構成する方法

nginx の設定は次のとおりです。 http://172.17.188.27/wgcloud など...

史上最も簡単な MySQL データのバックアップと復元のチュートリアル (パート 2) (パート 37)

データのバックアップと復元パート3の詳細は次のとおりです基本的な概念:バックアップ、現在のデータまた...

Dockerの基本的なネットワーク構成の詳細な説明

外部アクセスポートをランダムにマップする -P フラグを使用すると、Docker は 49000 か...

Rancher のデプロイメントと K8S クラスターのインポートに関する問題

Rancher のデプロイメントには、次の 3 つのアーキテクチャがあります。高可用性 Kubern...

MySQL でデータ テーブルを作成し、主キーと外部キーの関係を確立する方法の詳細な説明

序文MySQL テーブルの主キーと外部キーを作成するときは、次の点に注意する必要があります。主キーと...