通过ngrok公开后端docker容器

问题描述

我已经将我的expo react native应用(前端和后端)都进行了docker化。

并且我能够将本机应用程序加载到我的手机上(使用expo)。

但是,移动应用程序如何向后端Docker容器发送请求?

以前,没有docker容器,我在localhost:3000上运行服务器,并使用以下命令运行ngrok,移动应用程序能够使用ngrok提供的URL与后端进行通信

// worked without docker
ngrok http 3000

我尝试了以下步骤,但是没有用。两个容器都成功运行,但连接失败

docker container run -p 3000:3000 --rm --name backend myapp-backend
docker run --rm -d -p 4040 --link backend:http --name ngrok -e NGROK_PORT=3000 wernight/ngrok 

这是我关注的链接

https://github.com/wernight/docker-ngrok

解决方法

我想通了。 该命令应该是这样的。

docker run --rm -it -d -p 4040 --link backend --name ngrok  wernight/ngrok ngrok http backend:3000