#Docker | Ngrok# 使用Ngrok和Docker进行内网穿透

2024-05-14 15:36

本文主要是介绍#Docker | Ngrok# 使用Ngrok和Docker进行内网穿透,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、注册

  1. Ngrok官网注册,可以使用gmail或者outlook邮箱,

image.pngimage.png

  1. 正常填写后你会收到一封电子邮件,点击邮件中链接即注册成功

image.png

二、获取密钥

  1. 登录,点击Your Authtoken,最上面copy左边就是你得密钥

image.png

三、使用内网穿透启动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.149009 端口上。

工作流程

  1. 获取 Ngrok 令牌
  • 首先,你需要在 Ngrok 网站上注册并获取一个身份验证令牌。
  1. 启动容器
  • 运行上述命令,启动一个 Ngrok 容器并创建一个 HTTP 隧道。
  1. 隧道创建
  • Ngrok 客户端会连接到 Ngrok 服务器,使用提供的令牌进行认证,并创建一个公开的 URL,通过该 URL 可以访问本地服务。
  1. 访问服务
  • Ngrok 会在控制台输出一个公开的 URL,通过这个 URL 可以从互联网访问本地运行在 172.17.0.1:49009 端口的服务。也可以通过生成的链接访问。
  • image.png

示例

假设你在本地运行了一个 Web 服务,该服务监听 172.17.0.1:49009 端口,你希望外部用户可以访问这个服务。通过运行上述命令,Ngrok 会提供一个类似于 http://abcd1234.ngrok.io 的 URL,外部用户可以通过这个 URL 访问你的本地服务。
这在开发和测试时非常有用,比如当你需要外部用户测试你的本地服务或者需要与远程客户端进行集成测试时。

这篇关于#Docker | Ngrok# 使用Ngrok和Docker进行内网穿透的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/989139

相关文章

C语言中联合体union的使用

本文编辑整理自: http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=179471 一、前言 “联合体”(union)与“结构体”(struct)有一些相似之处。但两者有本质上的不同。在结构体中,各成员有各自的内存空间, 一个结构变量的总长度是各成员长度之和。而在“联合”中,各成员共享一段内存空间, 一个联合变量

Tolua使用笔记(上)

目录   1.准备工作 2.运行例子 01.HelloWorld:在C#中,创建和销毁Lua虚拟机 和 简单调用。 02.ScriptsFromFile:在C#中,对一个lua文件的执行调用 03.CallLuaFunction:在C#中,对lua函数的操作 04.AccessingLuaVariables:在C#中,对lua变量的操作 05.LuaCoroutine:在Lua中,

Vim使用基础篇

本文内容大部分来自 vimtutor,自带的教程的总结。在终端输入vimtutor 即可进入教程。 先总结一下,然后再分别介绍正常模式,插入模式,和可视模式三种模式下的命令。 目录 看完以后的汇总 1.正常模式(Normal模式) 1.移动光标 2.删除 3.【:】输入符 4.撤销 5.替换 6.重复命令【. ; ,】 7.复制粘贴 8.缩进 2.插入模式 INSERT

Lipowerline5.0 雷达电力应用软件下载使用

1.配网数据处理分析 针对配网线路点云数据,优化了分类算法,支持杆塔、导线、交跨线、建筑物、地面点和其他线路的自动分类;一键生成危险点报告和交跨报告;还能生成点云数据采集航线和自主巡检航线。 获取软件安装包联系邮箱:2895356150@qq.com,资源源于网络,本介绍用于学习使用,如有侵权请您联系删除! 2.新增快速版,简洁易上手 支持快速版和专业版切换使用,快速版界面简洁,保留主

如何免费的去使用connectedpapers?

免费使用connectedpapers 1. 打开谷歌浏览器2. 按住ctrl+shift+N,进入无痕模式3. 不需要登录(也就是访客模式)4. 两次用完,关闭无痕模式(继续重复步骤 2 - 4) 1. 打开谷歌浏览器 2. 按住ctrl+shift+N,进入无痕模式 输入网址:https://www.connectedpapers.com/ 3. 不需要登录(也就是

大语言模型(LLMs)能够进行推理和规划吗?

大语言模型(LLMs),基本上是经过强化训练的 n-gram 模型,它们在网络规模的语言语料库(实际上,可以说是我们文明的知识库)上进行了训练,展现出了一种超乎预期的语言行为,引发了我们的广泛关注。从训练和操作的角度来看,LLMs 可以被认为是一种巨大的、非真实的记忆库,相当于为我们所有人提供了一个外部的系统 1(见图 1)。然而,它们表面上的多功能性让许多研究者好奇,这些模型是否也能在通常需要系

Ubuntu20.04离线安装Docker

1.下载3个docker离线安装包,下载网址: https://download.docker.com/linux/ubuntu/dists/xenial/pool/stable/amd64/ 2.把3个离线安装包拷贝到ubuntu本地执行以下命令 sudo dpkg -i containerd.io_1.4.6-1_amd64.deb sudo dpkg -i docker-ce-c

Toolbar+DrawerLayout使用详情结合网络各大神

最近也想搞下toolbar+drawerlayout的使用。结合网络上各大神的杰作,我把大部分的内容效果都完成了遍。现在记录下各个功能效果的实现以及一些细节注意点。 这图弹出两个菜单内容都是仿QQ界面的选项。左边一个是drawerlayout的弹窗。右边是toolbar的popup弹窗。 开始实现步骤详情: 1.创建toolbar布局跟drawerlayout布局 <?xml vers

Python应用开发——30天学习Streamlit Python包进行APP的构建(9)

st.area_chart 显示区域图。 这是围绕 st.altair_chart 的语法糖。主要区别在于该命令使用数据自身的列和指数来计算图表的 Altair 规格。因此,在许多 "只需绘制此图 "的情况下,该命令更易于使用,但可定制性较差。 如果 st.area_chart 无法正确猜测数据规格,请尝试使用 st.altair_chart 指定所需的图表。 Function signa

C#中,decimal类型使用

在Microsoft SQL Server中numeric类型,在C#中使用的时候,需要用decimal类型与其对应,不能使用int等类型。 SQL:numeric C#:decimal