検索

ホームページ  >  に質問  >  本文

docker 端口映射 有点蒙圈 谁给解释一下

docker 端口映射 有点蒙圈 谁给解释一下

ringa_leeringa_lee2804日前2993

全員に返信(3)返信します

  • 淡淡烟草味

    淡淡烟草味2017-04-25 09:03:39

    コンテナ間で相互にアクセスするには、コンテナの作成時に --link パラメータを使用する必要があります。接続されたコンテナには名前を付けることが最善です。

    docker run --name mysql ......docker run --name mysql .......
    docker run --name php --link mysql .......
    docker run --name nginx --link php .......

    以这种方式启动时,只需要在程序内使用对应的容器名即可访问相应的服务。
    例如 fastcgi_pass php:9000;

    如果是对外暴露端口,需要通过-p或者-P参数,最好使用-p。
    docker run --name nginx -p 80:80 -p 443:443 .......docker run --name php --link mysql ....
    docker run --name nginx --link php ......

    🎜この方法で開始すると、プログラム内で対応するコンテナ名を使用するだけで、対応するサービスにアクセスできます。 🎜例: fastcgi_pass php:9000;🎜 🎜 ポートが外部に公開されている場合は、-p または -P パラメーターを渡す必要があります。-p を使用するのが最善です。 🎜docker run --name nginx -p 80:80 -p 443:443 .....🎜このようにして、ブラウザはこのサーバーが提供する Web サービスにアクセスできます。 🎜

    返事
    0
  • 大家讲道理

    大家讲道理2017-04-25 09:03:39

    ポート マッピング:
    ローカル マシンのポートを選択し、それをコンテナのポートにマッピングします。これにより、リクエストが到着してローカル マシンのマッピングされたポートにアクセスすると、そのリクエストはコンテナに転送されます。そのポートはコンテナ内のサービスに依存してリクエストを処理します。

    なぜポートマッピングがあるのですか?
    ローカル IP は 1.2.3.4 などのパブリック IP ですが、ローカル コンテナ IP は 172.17.0.2 などの仮想 IP です。現時点では、外部からコンテナのサービスに直接アクセスすることはできません。ローカル マシンのポートにアクセスすることで、コンテナ内のサービスを使用できます。

    返事
    0
  • 我想大声告诉你

    我想大声告诉你2017-04-25 09:03:39

    いわゆる「混乱」が具体的に何を指すのかわかりません。
    簡単に言うと、これは NAT の原理に似ています。ホスト ネットワークがコンテナによって提供されるサービスにアクセスできるようにする必要がある場合、コンテナのポートをホスト ネットワークに公開する必要があります。
    一般的な構文は、「docker run」を実行するときにパラメーター「-p host_port:container_port」を指定することです。

    返事
    0
  • キャンセル返事