0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Dockerのportsで使用する「:」について

Posted at

docker-composeのposrtsは「ホスト側ポート:コンテナ側ポート」を表す。

基本構文

ports:
 - "8080:3000"

意味

  • 8080(左側)...ホストのポート番号
  • 3000(右側)...コンテナ内部のアプリが実際に待ち受けているポート番号
    「ホストの右側にアクセス -> コンテナの3000に転送される」

よく使用される例

設定 意味
8080:8080 ホスト 8080 → コンテナ 8080(同じ番号で公開)
8080:3000 ホスト 8080 → コンテナ 3000(番号を変えて公開)
3000(単独指定) コンテナ3000をホストのランダムポートで公開(非推奨)

なぜホストとコンテナで別のポートを設定するのか

「コンテナの都合」と「ホストの都合」を切り離すために別ポートを使う

  • ホストとコンテナは別環境であり、それぞれ独立したポート空間を持つため
  • ホスト側ではすでに使用されているポートを避けたいことが多く、自由に変えられる方が都合がいい
  • コンテナ内のアプリは固定のポートで動く場合が多いので、ホスト側だけ変更できると便利
  • 複数コンテナを同時に動かす時も、ホスト側のポートを変えるだけで競合を防ぎながら複数起動できる
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?