2016-07-14 17 views
0

私はDocker 1.9.1のリモートAPIを使用してコンテナを作成しています。Docker:特定のポートのみにランダムなポートマッピングを与えます

私が達成しようとしていることの1つは、画像のすべての露出ポートの中で、それらのうちのいくつか(つまり、それらにホストポートマッピングを与える)を公開したいだけです。同時に使用するホストポートを管理したいが、Dockerがランダムで利用可能なものを手に入れたいと思っている。例えば

は、画像は私が欲しいのはドッカー実行味でこのような何か(私はこれはしかし、CMDラインを通して可能ではありません知っている)

docker run -p {a random available port}:80 image

で、ポート80、443、22が露出しています

リモートAPIを通じてこれを実現できますか?現在はPublishAllPorts = trueしか設定できませんが、すべてのポートを公開してホストポートをあまりにも多く消費します。

+0

私はあなたが単に' docker run -p 80 image'を実行できると確信しています。 –

+2

コンテナを起動するためのドッカーの残りのAPIを使用すると、ポートバインディングを定義できます。 "PortBindings":{"80/tcp":[{"HostPort": "}}} – Shibashis

+0

@Shhibashis、これが動作します。他のExposedPortsプロパティはここで混乱していました。ありがとう、私は受け入れることができるようにこれを答えに移したいですか? – Derek

答えて

2

コンテナを開始するためのドッカーの残りのAPIを使用すると、ポートバインディングを定義できます。 {"HostPort": "}}}

関連する問題