2016-08-05 10 views
0

-Pパラメータを持つコンテナを内部10.10.0.0/22サブネットにバインドして実行できるようにします。デフォルトでは内部IPのランダムポートにコンテナを公開

はかつてこのような何かを:

docker run -d -P --name=nginx nginx 

それは次のようなものになります。

CONTAINER ID  IMAGE   COMMAND     CREATED    STATUS    PORTS      NAMES 
dbb556c99c81  nginx   "/usr/sbin/nginx"  2 minutes ago  Up 2 minutes  0.0.0.0:32773->80/tcp  nginx 

が0.0.0.0/0でそれを公開し、これは私の内部のようにする方法がありますIP? -pと個々のポートを選択するときに手動で特定のインターフェイスにバインドでき

+1

内部IPとはどういう意味ですか? '0.0.0.0'はドッカーインターフェースです。そして、あなたはホストマシンのインターフェースの内部IP上の '32773'ポートにアクセスすることができます –

+0

私は特にそれを望んでいませんでした。ファイアウォールのルールを守らずに外部に公開しないで、内部だけを保つだけです。 – Kaiwa

答えて

2

は、例えば:-P

$ docker run -d -p 127.0.0.1:8080:80/tcp --name test-nginx nginx 
2e07ebc61bcdc82a187a27eabca10211a4c9ac09d66e516e5c176d7282cffe2b 

$ docker ps 
CONTAINER ID  IMAGE    COMMAND     CREATED    STATUS    PORTS        NAMES 
2e07ebc61bcd  nginx    "nginx -g 'daemon off" 5 seconds ago  Up 2 seconds  443/tcp, 127.0.0.1:8080->80/tcp test-nginx 

は、それがデーモン(dockerd又はdocker daemon)で構成されたインターフェースを使用します。 0.0.0.0ですデフォルトでは、しかし、あなたは他のIPに変更することができます:0.0.0.0はすべてのインターフェイス上で待機しているので、特定のIPを指定するための唯一の理由は、ロックダウンしていることを

$ dockerd --help 
# ... 
--ip=0.0.0.0    Default IP when binding container ports 

注意あなたの環境に合わせてコンテナを開けないようにしてください。

+0

これは私が必要としていたものです。私はコンテナをランダムなポートを使用しながら外界で利用できないようにしたい。 – Kaiwa

関連する問題