🐔

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