docker-composeでコンテナへの通信が届かない時の対処法
問題
docker-compose.yml
にポート番号を書いているのに、$ docker-compose run --rm container_name sh
でコンテナの中に入ってサーバを立てても
http://localhost:3000/へアクセスできない。
ports: - "3000:3000"
原因
docker-compose run
は--service-ports
というオプションを付けないと、ポートマッピングが無視されるから。
docker-compose run --rm --service-ports container_name sh
もしくは docker-compose run --rm -p 3000:3000 container_name sh
とすればOK!