回答:
1つのポートのみを公開するには、次のようにする必要があります。
docker run -p <host_port>:<container_port>
複数のポートを公開するには、単に複数の-p引数を指定します。
docker run -p <host_port1>:<container_port1> -p <host_port2>:<container_port2>
Note: The -p flag can be used multiple times to configure multiple ports.
--env-file?
publishそうではないと思いますexpose。
ではDockerfile、動詞EXPOSEを使用して複数のポートを公開できます。
例えば
EXPOSE 3000 80 443 22
次に、上記に基づいて新しいイメージを作成しますDockerfile。
例えば
docker build -t foo:tag .
次に、を使用し-pて、上EXPOSEで定義したように、ホストポートをコンテナポートにマッピングできますDockerfile。
例えば
docker run -p 3001:3000 -p 23:22
連続したポートの範囲を公開したい場合は、次のようにdockerを実行できます。
docker run -it -p 7100-7120:7100-7120/tcp
イメージからコンテナーを作成していて、複数のポート(公開ではない)を公開したい場合は、次のコマンドを使用できます。
container namedocker create --name --expose 7000 --expose 7001image name
これで、docker startコマンドを使用してこのコンテナーを開始すると、上記の構成済みポートが公開されます。