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

推薦する

WeChat アプレット計算機の例

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

MySqlはページクエリ機能を実装します

まず、ページ分割クエリを使用する理由を明確にする必要があります。データが膨大なため、すべてのデータを...

MySQLトリガーの使用

トリガーにより、ステートメントの実行前または実行後に他の SQL コードを実行できます。トリガーは、...

JavaScript は大容量ファイルのアップロード処理を実装します

数十 MB 程度の小さいものから 1G 以上の大きいものまで、ビデオ ファイルなどのファイルのアップ...

選択/フォーカス時にすべてのオプションをリストする現在のより良い方法

開発中にこのような要件に遭遇したので、将来使用するために記録しました。需要背景キーボード ショートカ...

JSX を使用してコンポーネント パーサー開発を構築する例

目次JSX環境の構築プロジェクトの設定NPMを初期化するwebpackをインストールするBabelを...

Linux calコマンドの使用

1. コマンドの紹介cal (カレンダー) コマンドは、現在の日付または指定された日付のグレゴリオ暦...

Debian ベースの Linux システム ソフトウェア インストール コマンドの詳細な説明 (推奨)

Debian の紹介Debian は、広い意味では、フリーなオペレーティング システムの作成に専念...

CSS で 2 つの固定列と 1 つの適応列を実装するいくつかの方法

この記事では、CSS で 2 つの固定列と 1 つのアダプティブ列を実装するいくつかの方法を紹介し、...

LNMP を展開して HTTPS サービスを有効にする方法に関するチュートリアル

LNMP とは: Linux+Nginx+Mysql+(php-fpm、php-mysql)つまり、...

ログインボックスのドラッグ効果を実現するためのJavascript

この記事では、ログインボックスのドラッグ効果を実現するためのJavascriptの具体的なコードを参...

SSM VUE Axios の詳細な説明

目次SQL ログを表示するにはどうすればいいですか? ? SpringMVC でのパラメータ渡しの説...

MySQL の大文字と小文字の区別に関する注意

目次MySQLの大文字と小文字の区別はパラメータによって制御されますMySQLの大文字と小文字の区別...

ウェブサイトのパフォーマンスを向上させるためのウェブサーバーの改善

<br />このシリーズの最初のセクションでは、Web サイトのパフォーマンスを向上させ...

Vue 計算プロパティ実装トランスクリプト

この記事では、Vueの計算プロパティ実装レポートカードを参考に共有します。具体的な内容は次のとおりで...