LoginSignup
0
0

More than 1 year has passed since last update.

railsを5000ポートで起動してブラウザで7000ポートでアクセスできるようにする

Last updated at Posted at 2022-11-04

目的

dockerを使っていて、ポートの理解の理解が足りておらず接続エラーになったのでメモ。

Docker Documentation: https://docs.docker.com/compose/compose-file/compose-file-v3/#ports
をみていて、hostのポートとコンテナのポートについて理解したことを書いた。

docker-compose

ポートマッピングするにはdocker-composeに以下のように書く。

web:
  ports:
    - "3000:3000"

いくつか書き方があるが、上記の書き方はDocker Documentationの

Specify both ports (HOST:CONTAINER)

に従っている。ここの意味は「コンテナはポート番号3000で起動していて、ホストのサーバーはポート番号3000で起動していますよ」ということ。どちらも3000なのでわかりづらいが、

もし- "3001:3000"とした場合「コンテナはポート番号3000で起動していて、ホストのサーバーはポート番号3001で起動しています、ということ。この書き方の場合hostのIPアドレスは省略されており0.0.0.0が指定されている。0.0.0.0はローカル上のすべてのIPv4アドレスのこと。実行すると「自ホスト宛の通信はIPアドレス関係なくポート番号3001で受け入れて、コンテナのポート番号3000番に転送する」という結果になる。

結論

まとめると題名の通り「railsを5000ポートで起動してブラウザで7000ポートでアクセスできるようにする」には下記のように記述すれば実行できる。

web:
  ports:
    - "7000:5000"
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