如何在Portainer部署一个web站点到Nginx容器并结合内网穿透远程访问

文章目录

    • 前言
    • 1. 安装Portainer
      • 1.1 访问Portainer Web界面
    • 2. 使用Portainer创建Nginx容器
    • 3. 将Web静态站点实现公网访问
    • 4. 配置Web站点公网访问地址
      • 4.1公网访问Web站点
    • 5. 固定Web静态站点公网地址
    • 6. 固定公网地址访问Web静态站点

前言

Portainer是一个开源的Docker轻量级可视化工具,它提供了一个直观的Web界面,让你轻松管理和监控Docker容器、镜像和网络等。之前在文章《Linux Docker 图形化工具 Portainer远程访问》中我们讲了如何使用Docker部署一个Portainer,并结合cpolar内网穿透实现了公网访问成功。本篇文章教大家如何在Portainer创建Nginx容器,并且部署一个静态站点实现公网访问。

1. 安装Portainer

使用docker部署一个Portainer,首先拉取Portainer镜像

docker pull portainer/portainer

然后运行容器,其中: 8098端口是我们要访问的Portainer Web界面

docker run -d -p 8098:9000 --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce

1.1 访问Portainer Web界面

在浏览器中输入http://localhost:8098 或 http://服务器IP+8098端口号,即可看到Portainer管理界面。

第一次访问时,你需要创建一个管理员账号。填写所需的信息,并设置一个强密码。然后点击"Create user"按钮继续。

image-20231219105053262

image-20231219104918959

2. 使用Portainer创建Nginx容器

登录成功后,你将看到Portainer的控制面板。

本篇文章举例: 这里部署的Web站点是我制作的一个三维立体图像web页面。

在左侧导航栏中,选择 Home , 点击 local

e5bc3e85b0d58174258de21390e3835

然后选中 Containers,再点击右上角的 Add container

3bf03ec97fce6ebda63e1f5e6693cd0

进入新界面:

Name输入three(可以自定义填写)

Image输入nginx

外网端口自定义,不能有冲突,容器端口可以重复

c64c9b65b5678e64cabf1009f17960b

点击下方 Volumes ,填写 container (nginx路径/usr/share/nginx/html)和 host(部署站点文件路径),点击Deploy the container拉取镜像

image-20231219113307790

image-20231219112539005

创建成功,并且打开一个新的浏览器输入127.0.0.1:8089,可以看到制作完成的三维立体图像了。

image-20231219113625285

3. 将Web静态站点实现公网访问

上面我们在Portainer中创建了Nginx容器,并部署了Web静态站点,在局域网访问成功。下面我们安装Cpolar内网穿透工具,通过cpolar 转发本地端口映射的http公网地址,我们可以很容易实现远程访问,而无需自己注册域名购买云服务器.下面是安装cpolar步骤

cpolar官网地址: https://www.cpolar.com

  • 使用一键脚本安装命令
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • 向系统添加服务
sudo systemctl enable cpolar
  • 启动cpolar服务
sudo systemctl start cpolar

cpolar安装成功后,在外部浏览器上访问Linux 的9200端口 即:【http://局域网ip:9200】,使用cpolar账号登录(如没有账号,可以点击下面免费注册),登录后即可看到cpolar web 配置界面,结下来在web 管理界面配置即可

image-20231219115405508

4. 配置Web站点公网访问地址

点击左侧仪表盘的隧道管理——创建隧道,创建一个Web三维立体图形站点的的cpolar公网地址隧道。

  • 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
  • 协议:选择http
  • 本地地址:8089(本地访问时的端口)
  • 域名类型:免费选择随机域名
  • 地区:选择China Top

点击创建

image-20231219115613122

隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式,一种是http 和https

image-20231219115742114

4.1公网访问Web站点

复制cpolar生成的两个公网地址中的任意一个,然后打开一个新的浏览器并粘贴地址,可以看到用cpolar生成的公网地址,成功的实现公网访问web站点。

image-20231219120005820

为了更好地演示,我们在前述过程中使用了cpolar生成的隧道,其公网地址是随机生成的。

这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址由随机字符生成,不太容易记忆(例如:234b53d8.r1.cpolar.top),制作网页发布公网分享给别人看起来不太美观。另外,这个地址在24小时内会发生随机变化,更适合于临时使用。

我一般会使用固定二级子域名,原因是我希望制作好web网页分享给别人看时,它是一个固定、易记的公网地址(例如:three.cpolar.cn),这样更显正式,便于交流协作。

5. 固定Web静态站点公网地址

由于以上使用cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化【ps:cpolar.cn已备案】

注意需要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。

登录cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称

image-20231219133519658

保留成功后复制保留成功的二级子域名的名称

image-20231219133641998

返回登录Cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑

image-20231219133724915

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名
  • 地区:China VIP

点击更新(注意,点击一次更新即可,不需要重复提交)

image-20231219133923098

更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了固定的二级子域名名称的域名

image-20231219134008633

6. 固定公网地址访问Web静态站点

最后,我们使用固定的公网地址可以看到访问成功,这样一个固定且永久不变的公网地址就设置好了,随时随地都可以自定义域名并且分享给其他人访问你制作的web站点了!

image-20231219134252567

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/265455.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

大语言模型的三种主要架构 Decoder-Only、Encoder-Only、Encoder-Decoder

现代大型语言模型(LLM)的演变进化树,如下图: https://arxiv.org/pdf/2304.13712.pdf 基于 Transformer 模型以非灰色显示: decoder-only 模型在蓝色分支, encoder-only 模型在粉色分支, encod…

国际站店铺装修外贸平台alibaba鼠标经过渐变的效果功能代码代码生成器店铺装修旺铺旺铺装修生成器阿里巴巴国际站店铺怎么装修首页进入装修后台自定义内容模块

国际站店铺装修外贸平台alibaba鼠标经过渐变的效果功能代码代码生成器店铺装修旺铺旺铺装修生成器阿里巴巴国际站店铺怎么装修首页进入装修后台自定义内容模块 鼠标经过有个渐变的效果功能

寒风中,新能源汽车续航严重打折,消费者重投燃油车怀抱

统计数据显示,12月12日至12月17日这一周,燃油车销量大幅反弹,燃油车的环比增速远高于新能源汽车领军者比亚迪,似乎显示出消费者再度青睐燃油车,导致如此结果在于新能源汽车在寒冬中的表现让人失望。 一、燃油车销量增速…

python读取Excel内容并展示成json

shigen坚持更新文章的博客写手,擅长Java、python、vue、shell等编程语言和各种应用程序、脚本的开发。记录成长,分享认知,留住感动。 伙伴们,又是许久未曾见面了。最近也是在忙着加班,加上没有新技术的输入和产出&…

Linux Centos-7.5_64bit 系统等保测评内容

一、身份鉴别 a) 应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换 指引:1.观察管理员登录方式。2.查看系统配置,记录配置参数。(more /etc/pam.d/system-auth、more /et…

C语言:差分

【模板】差分_牛客题霸_牛客网 (nowcoder.com) 上图中[1,2]4d[0]4,d[1]4,d[2]4,d[3]4...d[2]-4,d[3]-4... [3,3]-2d[2]-2,d[3]-2,d[4]-2....d[3]2,d[4]2... 通过求前缀和操作,相当于用另一个数组完成了差分操作,再将原数组加上该数组,即可得…

HTML+CSS做一个时尚柿子造型计时器

文章目录 💕效果展示💕代码展示HTMLJS💕效果展示 💕代码展示 HTML <!DOCTYPE html> <html lang

ABS210-ASEMI手机适配器整流桥ABS210

编辑&#xff1a;ll ABS210-ASEMI手机适配器整流桥ABS210 型号&#xff1a;ABS210 品牌&#xff1a;ASEMI 封装&#xff1a;ABS-4 特性&#xff1a;贴片、整流桥 最大平均正向电流&#xff1a;2A 最大重复峰值反向电压&#xff1a;1000V 恢复时间&#xff1a;&#xff…

java SSM家庭财务管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java SSM家庭财务管理系统是一套完善的web设计系统&#xff08;系统采用SSM框架进行设计开发&#xff0c;springspringMVCmybatis&#xff09;&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代 码和数据库&#xff0c;系统主要采…

SSTI模板注入基础(Flask+Jinja2)

文章目录 一、前置知识1.1 模板引擎1.2 渲染 二、SSTI模板注入2.1 原理2.2 沙箱逃逸沙箱逃逸payload讲解其他重要payload 2.3 过滤绕过点.被过滤下划线_被过滤单双引号 "被过滤中括号[]被过滤 三、PasecaCTF-2019-Web-Flask SSTI 一、前置知识 1.1 模板引擎 模板引擎&…

嵌入式开发网络配置——windows连热点,开发板和电脑网线直连

目录 电脑 WiFi 上网&#xff0c;开发板和电脑直连 使用场景 设置VMware虚拟机的网络配置 Ubuntu设置——版本18.04 ​编辑 windows设置 开发板设置 原因&#xff1a;虚拟机Linux移植可执行程序到开发板失败 最后发现虚拟机的Linuxping不通开发板 下面是我的解决方法 …

JavaWeb笔记之SVN

一、版本控制 软件开发过程中 变更的管理&#xff1b; 每天的新内容;需要记录一下&#xff1b; 版本分支;整合到一起&#xff1b; 主要的功能对于文件变更的追踪&#xff1b; 多人协同开发的情况下,更好的管理我们的软件。 大型的项目;一个团队来进行开发; 1: 代码的整合 2: 代…

PYQT的使用入门

上一章节&#xff1a;VSCode安装PYQT5-CSDN博客 QTDesigner初识 vscode导航栏右键&#xff0c;新建ui文件&#xff0c;弹出QT Designer。 完成创建后&#xff0c;可以在新窗口中进行UI布局。 QTDesigner左侧为组件库&#xff0c;中间为UI布局界面&#xff0c;右侧分别为对象…

润和软件HopeStage与亚信安全云主机深度安全防护系统完成产品兼容性互认证

近日&#xff0c;江苏润和软件股份有限公司&#xff08;以下简称“润和软件”&#xff09;HopeStage 操作系统与亚信科技&#xff08;成都&#xff09;有限公司&#xff08;以下简称“亚信安全”&#xff09;云主机深度安全防护系统完成兼容性测试。 测试结果表明&#xff0c;企…

ESP32+LVGL笔记(6)-把712k的一二级汉字字库放在SPIRAM

文章目录 1.字库制作2.字库烧录到ESP32-S3的flash2.1 配置好分区文件2.2 汉字库文件烧录到ESP32的flash 3.将字库从 flash 拷贝到 SPIRAM3.1 工程配置中有关 SPIRAM 部分3.2 将汉字库从flash拷贝到SPIRAM的代码3.3 在进入lvgl之前调用函数 copyHZK_from_flash_to_SPIRAM 在前面…

node-red:使用node-red-contrib-amqp节点,实现与RabbitMQ服务器(AMQP)的消息传递

node-red-contrib-amqp节点使用 一、简介1.1 什么是AMQP协议?1.2 什么是RabbitMQ? -> 开源的AMQP协议实现1.3 RabbitMQ的WEB管理界面介绍1.3 如何实现RabbitMQ的数据采集? -> node-red 二、node-red-contrib-amqp节点安装与使用教程2.1 节点安装2.2 节点使用2.2.1 amq…

vue3引入高德地图流程(key和秘钥),仅需三步

步骤一&#xff1a; 申请key和秘钥 步骤二&#xff1a; 安装amap/amap-jsapi-loader依赖 cnpm i amap/amap-jsapi-loader // 或者 yarn add amap/amap-jsapi-loader步骤三&#xff1a; <template><div id"gdMapCon"></div> </template>…

在Go语言中实现HTTP中间件

在Web开发中&#xff0c;中间件是一种非常流行的设计模式&#xff0c;它可以用于处理请求、拦截请求并对其进行处理或转换。而在Go语言中&#xff0c;实现HTTP中间件就像给自己的HTTP服务器穿上了一层“魔法外衣”&#xff0c;让它变得更加灵活、可配置和可扩展。下面&#xff…

LLaMA开源大模型源码分析!

Datawhale干货 作者&#xff1a;宋志学&#xff0c;Datawhale成员 花了一晚上照着transformers仓库的LLaMA源码&#xff0c;把张量并行和梯度保存的代码删掉&#xff0c;只留下模型基础结构&#xff0c;梳理了一遍LLaMA的模型结构。 今年四月份的时候&#xff0c;我第一次接触…

3.苍穹外卖-day03

苍穹外卖-day03 课程内容 公共字段自动填充 新增菜品 菜品分页查询 删除菜品 修改菜品 功能实现&#xff1a;菜品管理 菜品管理效果图&#xff1a; 1. 公共字段自动填充 1.1 问题分析 在上一章节我们已经完成了后台系统的员工管理功能和菜品分类功能的开发&#xff0c;在新…