dockerで複数のポートをマッピングするにはどうすればよいですか
Dockerでは、-p または –publishパラメータを使用して複数のポートをマップできます。
複数のポートをマップする方法は次のとおりです。
- `-p`パラメータ使用:
- docker run -p ホスト側ポート1:コンテナ側ポート1 -p ホスト側ポート2:コンテナ側ポート2 イメージ名
- 例えば、ホストのポート80をコンテナのポート8080へ、ホストのポート443をコンテナのポート8443へmapしたい場合、以下コマンドを使用します。
- docker run -p 80:8080 -p 443:8443 <イメージ名>
- –publish パラメータを利用する:
- docker run -p <ホストポート1>:<コンテナポート1> -p <ホストポート2>:<コンテナポート2> <イメージ名>
- たとえば、ホストのポート80をコンテナのポート8080にマッピングし、ホストのポート443をコンテナのポート8443にマッピングするには、以下のコマンドを使用します。
- docker run –publish 80:8080 –publish 443:8443 <イメージ名>
ご留意事項:
- はホスト側でのポート番号、はコンテナ側でのポート番号
- -p もしくは –publish オプションを上記のフォーマットに従って追加するだけで、任意の数のポートにマップすることができます。
- コンテナ内のポートをホストのランダムなポートにバインドする場合、を空のままにできます。たとえば、-p:8080または–publish:8080です。
コンテナ内のサービスが固定のポート番号を使用する場合、ホストのマッピング先のポート番号はホスト上の他のサービスが使用するポート番号と競合してはいけないことに注意が必要です。