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に変更する

推薦する

MySQL グリーン解凍バージョンのインストールと設定手順

手順: 1. MySQLデータベースをインストールする1. MySQL-5.6.17-winx64....

MySQL ビューの原理と使用法の詳細な分析

序文: MySQL では、ビューはおそらく最も一般的に使用されるデータベース オブジェクトの 1 つ...

dockerコンテナがIP経由でホストマシンにアクセスできない問題を解決する方法の詳細な説明

問題の起源docker を使用する場合、残念ながら docker コンテナ内のホストのポート 80 ...

MySQLの大規模テーブル最適化ソリューションについての簡単な説明

背景Alibaba Cloud RDS for MySQL(MySQL バージョン 5.7)データベ...

NginxはIP経由の直接アクセスを禁止し、カスタム500ページにリダイレクトします

設定ファイルに直接 サーバー{ listen 80 default; # IPへの直接アクセスを禁止...

Nginx での SSL 証明書のインストールと展開手順の概要

目次問題の説明:インストール手順1. 準備2. サーバーにリモート接続する3. 証明書と秘密鍵ファイ...

高速でクールな揺れアニメーション効果を実現するCSS

1. Animate.css の紹介Animate.css は、Web プロジェクトですぐに使用で...

学生情報管理システムを実装するためのJavaScript+HTML

目次1. はじめに2. レンダリング3. コード4. 学生情報管理システムのメインインターフェース1...

HTML チュートリアル: よく使われる HTML タグのコレクション (4)

関連記事:初心者が学ぶ HTML タグ (3)導入された HTML タグは、必ずしも XHTML 仕...

JavaScript で配列の最大値と最小値を実装する 6 つの方法

配列[1,8,5,4,3,9,2]が与えられた場合、配列の最大値9と最小値1を取得するアルゴリズムを...

mysql8でルートユーザーのパスワードをリセットする手順を完了します

序文最近、多くの新しい同僚がこの質問をしてきました。特に、homebrew を通じて自動的にインスト...

Packetdrillの簡潔なユーザーガイド

1. Packetdrillのコンパイルとインストールソースコードリンク https://githu...

Linux で boost.python を使用して C++ 動的ライブラリを呼び出す方法

序文最近、C++ 動的ライブラリをテストするためにロボット フレームワークを使い始めました。ロボット...

CentOS での samba フォルダ共有サーバー構成の詳細な説明

1. はじめに最近、CentOS での開発には多くの不便があることがわかりました。Windows/M...

docker-maven-plugin の詳細な使用方法

目次Docker-Maven-プラグインMavenプラグインの自動デプロイメント手順1. ホストマシ...