だから私はマシンのインターフェースに公開する必要があります3つのポートがあります。 Dockerコンテナーでこれを行うことは可能ですか?
1つのポートだけを公開するには、これを行う必要があります。
docker run -p <Host_port>:<container_port>
複数のポートを公開するには、単純に複数の-p
引数を指定します。
docker run -p <Host_port1>:<container_port1> -p <Host_port2>:<container_port2>
あなたのDockerfile
では、動詞EXPOSE
を使って複数のポートを公開することができます。
例えば。
EXPOSE 3000 80 443 22
それからあなたは上記のDockerfile
に基づいて新しい画像を作りたいと思います。
例えば。
docker build -t foo:tag .
それからEXPOSE
の上のDockerfile
で定義されているように、-p
を使ってホストポートとコンテナポートをマッピングすることができます。
例えば。
docker run -p 3001:3000 -p 23:22
連続したポートの範囲を公開したい場合は、dockerを次のように実行します。
docker run -it -p 7100-7120:7100-7120/tcp
docker-compose.yml
fileを使用する場合:
services:
varnish:
ports:
- 80
- 6081
ホスト/ネットワークポートも指定できます
varnish:
ports:
- 80:80
- 6081:6081