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

推薦する

この記事は、Dockerにおけるcgroupの具体的な使用法を徹底的に理解するのに役立ちます。

目次cgroupとはcgroupの構成cgroupが提供する機能cgroup 内の CPU を制限す...

Vue + 要素を使用して背景データをオプションに動的に表示する

必要:ハードコードされたデータの代わりに、セレクター内のオプション値の動的な表示を実装します。私のロ...

MySQL 最適化接続最適化

記事「MySQL の最適化: キャッシュの最適化」では、システムによってコンパイルされた変数値、また...

Ubuntu 18.04 コマンドでタッチパッドを無効/有効にする

Ubuntu では、ショートカット キーでタッチパッドをオフにできない状況によく遭遇します。この問題...

史上最も便利な Zookeeper サーバーの構築方法 (推奨)

ZooKeeperとはZooKeeper は、分散アプリケーションに効率的で可用性の高い分散調整サ...

FTP、FTPS、SFTPの違いについて簡単に説明します

目次FTP、FTPS、SFTP の概要FTP FTPS FTPサーバーFTPソフトウェアのアクティブ...

JavaScript サンドボックスの探索

目次1. シナリオ2. サンドボックスの基本機能3. iframeの実装4. Webワーカーの実装5...

Docker で MySQL をデプロイする詳細なプロセス (Docker でデプロイされる一般的なアプリケーション)

以前にも紹介しました: docker (一般的なアプリケーションのデプロイ): docker dep...

Firefoxでリンクをクリックしたときに点線の枠線を削除する方法

今日、ブラウザの互換性の問題にいくつか遭遇しました。そのうちの 1 つは奇妙に感じました。Firef...

ポップアップはすべて不正なものではありません。ウェブサイトのポップアップをデザインするためのヒント

ポップアップニュースは国内のインターネットサービスでは一般的であり、リアルタイムプッシュ方式はウェブ...

CSS3を使用して背景画像の色を変更するさまざまな方法

CSS3 では画像の色を変更できます。これからは複数の絵をデザインする必要がなくなり、いつでも修正で...

Node.js の fs モジュールと Path モジュールのメソッドの詳細な説明

概要:ファイルシステム モジュールは、標準の POSIX ファイル I/O 操作セットをラップしたシ...

MySQL 8.0.15 のインストールと設定方法のグラフィックチュートリアル (Win10 Home バージョン 64)

超初心者の私は、MySQL を学び始めたばかりで、インストール プロセス中に多くの問題に遭遇しました...

Springboot および Vue プロジェクトの Docker デプロイメントの実装手順

目次A. SpringbootプロジェクトのDockerデプロイメント1. Springbootプロ...