ホームページ  >  記事  >  運用・保守  >  docker での公開とはどういう意味ですか?

docker での公開とはどういう意味ですか?

WBOY
WBOYオリジナル
2022-07-25 16:12:264565ブラウズ

docker では、expose は情報にマークを付けることを意味し、ドキュメント表現の 1 つの方法です。expose により、開発者は dockerfile 内の Image によってどのサービスが開かれているかをすぐに理解できます。ポートを直接開くことはできないため、操作に便利です。保守担当者はコンテナを使用する際にどのポートを開けばよいかを知っており、公開ポートがなければコンテナ間のサービスも相互にアクセスできます。

docker での公開とはどういう意味ですか?

このチュートリアルの動作環境: linux7.3 システム、docker バージョン 19.03、Dell G3 コンピューター。

Docker でのエクスポーズとは何ですか?

Dockerfile でのエクスポーズはタグ情報です。 ポートは直接開くことができないため、運用保守担当者がオープンすることを知っています。コンテナを使用するときのポートです。 docker run -itd -P xxx:xxx を使用する場合、大文字の -P は、Dockerfile ファイル内の EXPOSE を使用して定義されたポートをマップします。この形式で手動で -p: を実行する必要はありません。

EXPOSE はドキュメント表現の単なる方法です。dockerfile では、開発者は Image によってどのサービスが開かれているかをすぐに理解できます。実際的な意味はありません。 EXPOSE ポートがない場合、コンテナ間のサービスも相互にアクセスできます。

Docker での公開と公開 (run -p) の違い

ここでの主な記録は、最近 docker を使用して発見した小さな疑問です。要約すると:

docker では、コマンド ラインの開始時に docker run -p で公開されたインターフェイスと dockerfile で公開されたインターフェイスの間の違いと接続は何ですか。

具体的な説明は次のとおりです。

たとえば、最初に Dockerfile でポート 8080 を公開します

EXPOSE 8080

次に、このイメージをビルドします。後で使用するための使用

docker build -t myimage - Dockerfile

次のステップは、docker run を使用してこのイメージのコンテナー インスタンスを開始し、ポートを公開することです

docker container run -d -p 8080 myimage

ここで言及した質問があります。すでに Dockerfile に追加されているので、ここでポート 8080 を公開することが宣言されていますが、このポート (-p) を公開する必要があります。 2 つの違いと接続は何ですか?

docker container run -d myimage

を直接実行できますか? この場合、公開されているポートはありますか?

テスト後(テストプロセスは省略していますが、興味のある友達は自分でテストできます。実際、この2つには本質的な違いがあり、ある程度の相関関係もあります。

これら 4 つの組み合わせをここにリストします。

A、Dockerfile で公開も -p

B も実行せず、Dockerfile でこのポートのみを公開します

C、同時に公開しますDockerfile で -p

D を実行し、-p

1 のみを実行します-----ケース A の場合、このコンテナーで開始します ホスト host はサービスにアクセスできません外部ネットワーク、またはリンク コンテナーによっても使用できません。このコンテナー内でのみ使用できます。

2--------ケース B の場合、このコンテナーで開始します。このサービスには、次のユーザーはアクセスできません。 Docker の外部の世界 (ホストおよび他のホスト) ですが、コンテナーを介して他のリンクのコンテナーからアクセスできます

link

3----------ケース C の場合、開始されたコンテナーには、docker の外部とリンクのコンテナーの両方からアクセスできます。

4--------ケース D の場合、実際には、docker は特別な暗黙的な変換を行っています。ケース C と同等で、外部またはリンクのコンテナーからアクセスできます (これは、docker がポート

# を外部に開く必要があるため、他のコンテナーと同等であると考えているため当てはまります。確実にアクセスされるため、docker は自動的に Expose を実行します。

推奨される学習: "docker ビデオ チュートリアル "

以上がdocker での公開とはどういう意味ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。