docker-compose runでコマンドを実行するとポートが開かない

現在、DockerでRuby on Railsの開発環境を構築している最中なんですが、私のスクリプトの作り方が拙く『rails server』コマンドを実行する時に、docker-compose upではなくdocker-compose runを使ってます。

ところが、どういうわけかコンテナ側のポートが開きません。
自作のDockerfileやdocker-compose.ymlの書き方が悪いのかもしれないと思いましたが、Quickstart: Compose and Rails(公式マニュアル)のサンプルをdocker-compose runで動かしたところ、ポートが開かないことを確認しました。

どうやら、docker-compose runではダメみたいです。

それで、『docker compose run ポート』でググッてみたところ、こちらのサイトがヒットしました。
docker-compose runコマンドに--service-portsオプションを付ければいいそうです。

参考記事

`docker-compose run` で起動したコンテナでポートマッピングが効かない
docker-compose run(公式マニュアル)