淡淡烟草味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 サービスにアクセスできます。 🎜大家讲道理2017-04-25 09:03:39
ポート マッピング:
ローカル マシンのポートを選択し、それをコンテナのポートにマッピングします。これにより、リクエストが到着してローカル マシンのマッピングされたポートにアクセスすると、そのリクエストはコンテナに転送されます。そのポートはコンテナ内のサービスに依存してリクエストを処理します。
なぜポートマッピングがあるのですか?
ローカル IP は 1.2.3.4 などのパブリック IP ですが、ローカル コンテナ IP は 172.17.0.2 などの仮想 IP です。現時点では、外部からコンテナのサービスに直接アクセスすることはできません。ローカル マシンのポートにアクセスすることで、コンテナ内のサービスを使用できます。
我想大声告诉你2017-04-25 09:03:39
いわゆる「混乱」が具体的に何を指すのかわかりません。
簡単に言うと、これは NAT の原理に似ています。ホスト ネットワークがコンテナによって提供されるサービスにアクセスできるようにする必要がある場合、コンテナのポートをホスト ネットワークに公開する必要があります。
一般的な構文は、「docker run」を実行するときにパラメーター「-p host_port:container_port」を指定することです。