コンテナへの外部アクセス
容器は、外部アプリケーションでもこれらにアクセスすることができ、あなたがすることができ作るために、いくつかのネットワークアプリケーションを実行できる-P
か、-p
ポートマッピングパラメータを指定します。
場合-P
マーカー、ドッカーは、ランダムにマッピング49000~49900
容器オープンネットワークポートの内部にポート。
使用すると、docker container ls
ローカルホストの49155は、容器のポート5000にマッピングされ、見ることができます。この場合、コンテナが提供するウェブアプリケーションインターフェースにアクセスするためのマシンアクセスポート49155。
$ docker run -d -P training/webapp python app.py
$ docker container ls -l
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
bc533791f3f5 training/webapp:latest python app.py 5 seconds ago Up 2 seconds 0.0.0.0:49155->5000/tcp nostalgic_morse
同様に、あなたができるdocker logs
情報アプリケーションコマンドを表示します。
$ docker logs -f nostalgic_morse
* Running on http://0.0.0.0:5000/
10.0.2.2 - - [23/May/2014 20:16:31] "GET / HTTP/1.1" 200 -
10.0.2.2 - - [23/May/2014 20:16:31] "GET /favicon.ico HTTP/1.1" 404 -
-p
あなたは、指定されたポートは、コンテナにバインドすることができる唯一の上、マッピングするポートを指定し、することができます。サポートされているフォーマットがありますip:hostPort:containerPort | ip::containerPort | hostPort:containerPort
。
すべてのマッピングインターフェイスアドレス
使用hostPort:containerPort
形式は、容器のポート5000にローカルポート5000にマッピングを行ってもよいです
$ docker run -d -p 5000:5000 training/webapp python app.py
このとき、デフォルトではすべてのインターフェイス上のすべてのローカルアドレスをバインドします。
指定されたポート指定されたアドレスにマッピングされました
あなたは使用することができip:hostPort:containerPort
、このようなローカルホストアドレス127.0.0.1として、特定のアドレスマップを指定するために使用される形式を
$ docker run -d -p 127.0.0.1:5000:5000 training/webapp python app.py
ポートは、任意の指定されたアドレスにマッピングされました
使用ip::containerPort
コンテナポート5000への結合localhostのポートのは、ローカルホストが自動的にポートを割り当てます。
$ docker run -d -p 127.0.0.1::5000 training/webapp python app.py
また、使用することができますudp
指定するタグをudp
ポートを
$ docker run -d -p 127.0.0.1:5000:5000/udp training/webapp python app.py
地図を見るのポート設定
使用するdocker port
現在のポート設定のマッピングを表示するために、あなたはまた、アドレスバインディングを表示することができます
$ docker port nostalgic_morse 5000
127.0.0.1:49155.
注意:
-
容器と、自身の内部ネットワークのIPアドレスを有している(使用さ
docker inspect
れるすべての変数を取得してもよいが、ドッカーは、ネットワークの可変構成を有することができます。) -
-p
タグは、複数のポートをバインドするために複数回使用することができます
例えば
$ docker run -d \
-p 5000:5000 \
-p 3000:80 \
training/webapp \
python app.py