🐔
Dockerコンテナのポートとホストのポートの紐づける
Dockerコンテナで起動しているアプリを公開する場合、どうやって公開するか?
- コンテナ上で起動しているアプリへのポート番号を割り当てる
- ホストマシンでコンテナ上で起動しているアプリのポート番号と紐づけるためのポート番号を割り当てる
このような設定でホストマシンのIPアドレス・ポート番号へのアクセスで、コンテナ上で起動しているアプリへアクセスできる
この設定を実現するにはコンテナ起動時に -p オプション
docker container run -p <ホスト側のポート>:<コンテナ側のポート> <イメージ>
サンプル
ホストから http://localhost:3000/ へのアクセスでnginxへアクセスできる
docker container run -p 3000:80 --rm nginx
docker container ls からポートの状態を確認可能
$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d8ff62920ffc nginx "/docker-entrypoint.…" 2 minutes ago Up 2 minutes 0.0.0.0:3000->80/tcp brave_diffie
Discussion