回答:
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 name
docker create --name --expose 7000 --expose 7001image name
これで、docker start
コマンドを使用してこのコンテナーを開始すると、上記の構成済みポートが公開されます。