結論
docker run -it -e NGROK_AUTHTOKEN=<token> -p 4040:4040 ngrok/ngrok http host.docker.internal:3000
解説
公式サイトには
docker run -it -e NGROK_AUTHTOKEN=<token> ngrok/ngrok http 80
と書かれていますが、これだとdockerの80番ポートを公開しているので、macの80番ではありません。
この時、Ngrok Agentがアクセスできず、ERR_NGROK_8012
というエラーが出ます。
なので、host.docker.internalを使って、dockerからMacにアクセスしてもらいます。
docker run -it -e NGROK_AUTHTOKEN=<token> -p 4040:4040 ngrok/ngrok http host.docker.internal:3000
4040をマッピングしてるのは、4040でngrokの管理画面が動いてるからです。
誰かの時間の削減になればと><