Docker コンテナーの実行中にポート マッピング パラメーターが指定されていない場合、コンテナー内のネットワーク アプリケーション サービスにコンテナーの外部のネットワーク経由でアクセスできないため、Docker ポート マッピングを設定する必要があります。 pass ポートはホスト システムのインターフェイスにバインドされており、ローカル以外のクライアントがコンテナ内で実行されているサービスにアクセスできるようになります。
このチュートリアルの動作環境: linux7.3 システム、docker バージョン 19.03、Dell G3 コンピューター。
Docker にポート マッピングが必要な理由
Doker はオープンソースのアプリケーション コンテナ エンジンであり、簡単に言うと、プログラムと実行環境をパッケージ化し、環境とプログラムをまとめて公開できるコンテナです。 。プログラムを公開する必要がある場合、 doker を使用して実行環境を一緒に公開すると、他の人がプログラムを入手した後、直接実行できるため、一度コンパイルすればどこでもデバッグできるという恥ずかしい状況を回避できます。
もっと率直に言うと、doker の出現は主に、なぜ私のマシンでは正常であるのに、あなたのマシンでは正常ではないのかという問題を解決することです。 Docker コンテナには、実行中、一時停止、再起動、終了の 4 つの状態があります。
なぜ doker ポート マッピングを行う必要があるのでしょうか?
Docker コンテナーの実行中に、ポート マッピング パラメーターが指定されていない場合 (ホスト マシンと仮想マシン間のポート マッピングが構成されていない場合)、Docker コンテナーにアクセスすることはできません。コンテナの外部からのネットワーク ネットワーク アプリケーションとサービス (ポートがないため、外部プログラムは仮想マシンにアクセスできません)。この問題を解決するには、doker ポート マッピングを設定する必要があります。
Docker はポートを通じてホスト システムのインターフェイスをバインドし、ローカル以外のクライアントがコンテナ内で実行されているサービスにアクセスできるようにします。コンテナ間の通信を容易にするために、docker はこの接続メカニズムを提供します。
docker の 2 つの一般的なポート マッピング方法
ポートの自動マッピング
-P使用时需要指定--expose选项,指定需要对外提供服务的端口 $ sudo docker run -t -P --expose 22 --name server ubuntu:14.04
docker run -P を使用して自動的にバインドする外部サービスを提供するすべてのコンテナ ポートを定義します。マッピングされたポートは、未使用のポート プール (49000..49900) から自動的に選択されます。特定のバインディング情報は、docker ps、docker Inspection、または docker port を通じて確認できます。
指定されたインターフェイスにポートをバインドします
基本構文
$ sudo docker run -p [([:[host_port]])|():] [/ udp]
バインディング IP が指定されていない場合、デフォルトでは、すべてのネットワーク インターフェイスが監視されます。
推奨される学習: 「docker ビデオ チュートリアル 」
以上がDocker にポート マッピングが必要なのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

DockerとKubernetesは、コンテナ化とオーケストレーションのリーダーです。 Dockerはコンテナライフサイクル管理に焦点を当てており、小規模プロジェクトに適しています。 Kubernetesはコンテナオーケストレーションが上手で、大規模な生産環境に適しています。 2つの組み合わせは、開発と展開の効率を改善できます。

DockerとLinuxは、アプリケーションの開発と展開を簡素化できるため、完全な一致です。 1)DockerはLinuxの名前空間とCgroupsを使用して、コンテナの分離とリソース管理を実装します。 2)Dockerコンテナは仮想マシンよりも効率的で、スタートアップ速度が高速であり、ミラー化された階層構造は簡単に構築および配布できます。 3)Linuxでは、Dockerのインストールと使用は非常にシンプルで、コマンドはわずかです。 4)DockerComposeを介して、マルチコンテナーアプリケーションを簡単に管理および展開できます。

DockerとKubernetesの違いは、Dockerが小さなプロジェクトや開発環境に適したコンテナ化されたプラットフォームであることです。 Kubernetesは、大規模なプロジェクトや生産環境に適したコンテナオーケストレーションシステムです。 1.Dockerはアプリケーションの展開を簡素化し、リソースが限られている小規模プロジェクトに適しています。 2。Kubernetesは、効率的な管理を必要とする大規模なプロジェクトに適した自動化とスケーラビリティ機能を提供します。

DockerとKubernetesを使用して、スケーラブルなアプリケーションを構築します。 1)dockerfileを使用してコンテナ画像を作成します。2)Kubectlコマンドを介してKubernetesの展開とサービス、3)Horizontalpodautoscalerを使用して自動スケーリングを実現し、それにより効率的でスケーラブルなアプリケーションアーキテクチャを構築します。

DockerとKubernetesの主な違いは、Dockerがコンテナ化に使用され、Kubernetesはコンテナオーケストレーションに使用されることです。 1.Dockerは、アプリケーションを開発、テスト、展開し、コンテナを介して分離とリソースの制限を実装するための一貫した環境を提供します。 2。Kubernetesは、コンテナ化されたアプリケーションを管理し、自動化された展開、拡張、管理機能を提供し、負荷分散と自動スケーリングをサポートします。この2つの組み合わせは、アプリケーションの展開と管理の効率を改善できます。

LinuxにDockerをインストールして構成するには、システムが64ビットとカーネルバージョン3.10以上であることを確認する必要があります。コマンド「Sudoapt-GetUpDate」を使用し、コマンド「Sudoapt-GetUpDate」でインストールし、「Sudoapt-GetUpDate」で検証します。 Dockerは、Linuxカーネルの名前空間とコントロールグループを使用して、コンテナの分離とリソースの制限を実現します。画像は読み取り専用テンプレートであり、コンテナを変更できます。使用法の例には、NGINXサーバーの実行やカスタムDockerFilesを使用した画像の作成が含まれます。一般

Dockerを使用する理由は、アプリケーションをパッケージ化、配布、および実行するための効率的でポータブルで一貫した環境を提供するからです。 1)Dockerは、開発者がアプリケーションとその依存関係を軽量のポータブルコンテナにパッケージ化できるようにするコンテナ化されたプラットフォームです。 2)Linuxコンテナテクノロジーとジョイントファイルシステムに基づいて、迅速な起動と効率的な操作を確保しています。 3)Dockerは、マルチステージの構造をサポートし、画像サイズと展開速度を最適化します。 4)Dockerを使用すると、開発と展開プロセスを簡素化し、効率を改善し、環境全体の一貫性を確保できます。

実際のプロジェクトのDockerのアプリケーションシナリオには、展開の簡素化、マルチコンテナーアプリケーションの管理、パフォーマンスの最適化が含まれます。 1.Dockerは、dockerfileを使用してnode.jsアプリケーションを展開するなど、アプリケーションの展開を簡素化します。 2。DockerComposeは、マイクロサービスアーキテクチャのWebやデータベースサービスなどのマルチコンテナーアプリケーションを管理しています。 3.パフォーマンス最適化は、マルチステージ構造を使用して画像サイズを縮小し、健康チェックを通じてコンテナのステータスを監視します。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

ホットトピック









