一、注册
- Ngrok官网注册,可以使用gmail或者outlook邮箱,
- 正常填写后你会收到一封电子邮件,点击邮件中链接即注册成功
二、获取密钥
- 登录,点击
Your Authtoken
,最上面copy左边就是你得密钥
三、使用内网穿透启动docker
docker run --rm -it -e NGROK_AUTHTOKEN=<NGROK_TOEKN> ngrok/ngrok:latest http --request-header-add ngrok-skip-browser-warning:1 172.17.0.1:49009
启动一个 Ngrok 容器,用来创建一个 HTTP 隧道,把本地的服务暴露在互联网上。下面是对这个命令的详细解释:
详细解释
docker run
:
启动一个新的 Docker 容器。--rm
:
在容器停止运行后自动删除容器。这确保了临时容器不会占用系统资源。-it
:
-i
表示以交互模式运行容器,允许用户输入命令;
-t
表示分配一个伪终端。这两个选项结合起来允许用户与容器进行交互。-e NGROK_AUTHTOKEN=<NGROK_TOEKN>
:
设置环境变量NGROK_AUTHTOKEN
,用于提供 Ngrok 的身份验证令牌。你需要将<NGROK_TOEKN>
替换为你的实际 Ngrok 令牌。ngrok/ngrok:latest
:
使用ngrok/ngrok
镜像的最新版本启动容器。http
:
命令参数,告诉 Ngrok 创建一个 HTTP 隧道。--request-header-add ngrok-skip-browser-warning:1
:
添加一个请求头ngrok-skip-browser-warning:1
,用于跳过 Ngrok 浏览器警告。这在访问隧道时避免浏览器显示警告信息。172.17.0.1:49009
:
指定本地服务的地址和端口,Ngrok 将这个地址和端口暴露在公共互联网上。在这个例子中,本地服务运行在172.17.0.1
的49009
端口上。
工作流程
- 获取 Ngrok 令牌:
- 首先,你需要在 Ngrok 网站上注册并获取一个身份验证令牌。
- 启动容器:
- 运行上述命令,启动一个 Ngrok 容器并创建一个 HTTP 隧道。
- 隧道创建:
- Ngrok 客户端会连接到 Ngrok 服务器,使用提供的令牌进行认证,并创建一个公开的 URL,通过该 URL 可以访问本地服务。
- 访问服务:
- Ngrok 会在控制台输出一个公开的 URL,通过这个 URL 可以从互联网访问本地运行在
172.17.0.1:49009
端口的服务。也可以通过生成的链接访问。
示例
假设你在本地运行了一个 Web 服务,该服务监听 172.17.0.1:49009
端口,你希望外部用户可以访问这个服务。通过运行上述命令,Ngrok 会提供一个类似于 http://abcd1234.ngrok.io
的 URL,外部用户可以通过这个 URL 访问你的本地服务。
这在开发和测试时非常有用,比如当你需要外部用户测试你的本地服务或者需要与远程客户端进行集成测试时。