Linux系统使用Docker部署个人IT工具箱IT-Tools结合内网穿透实现公网访问

作为程序员,在日常工作中,需要借助一些工具来提高我们工作效率,IT-Tools是为开发人员度身打造的一套便捷在线工具。它提供全面功能,使开发者能以更高效方式完成任务。经由IT-Tools,开发人员能轻松应对各类技术挑战,享受工作中的便利与灵活。

本篇文章,我们将以Docker方式将IT-Tools部署至个人服务器,并且结合cpolar内网穿透实现公网可直接访问it-tools,畅享快捷的访问与使用体验。

1. 安装Docker

本文演示环境:CentOS7,Xshell7远程ssh

没有安装Docker的小伙伴需安装Docker,已有Docker可跳过以下步骤。

如没有安装Docker,需先安装Docker:

  • 安装软件包(提供实用程序)并设置存储库

    $ sudo yum install -y yum-utils
    $ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    

    安装Docker引擎

    sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
    

    启动Docker

    sudo systemctl start docker
    

    通过运行映像来验证 Docker 引擎安装是否成功

    sudo docker run hello-world
    

2.本地安装部署it-tools

检查Docker服务状态

检查Docker服务是否正常运行,确保Docker正常运行。

systemctl status docker

image-20240206162936342

检查Docker版本

docker -v

下载it-tools镜像,从docker hub拉取it-tools镜像

docker pull corentinth/it-tools:latest

f5cfe8e444149aeae4e082b0be95947

使用docker-cli快速部署it-tools容器,执行以下命令,映射端口可自行修改

docker run -d --name it-tools --restart unless-stopped -p 8080:80 corentinth/it-tools:latest

查看下是否安装成功

docker ps

访问it-tools

访问地址:http://192.168.149.143:8080/,将IP更换为自己服务器的IP地址。如果无法访问,注意防火墙和安全组设置问题。

7f818b112361aadde4daeddf16cb246

it-tools功能很多,其中举例几个:

uuid批量生成:

image-20240227115615266

base64 编解码:

image-20240227115641620

获取emoji的unicode:

image-20240227115717488

还有各种实用的功能,非常适合开发者使用。

接下来演示一下如何使用it-tools工具箱生成docker-compose文件。

3. it-tools工具箱功能—生成docker-compose文件

体验docker-cli转化为docker-compose.yaml文件

  • 使用docker-cli部署一个nginx测试服务

    docker run -p 8022:80 -v /var/run/docker.sock:/tmp/docker.sock:ro --restart always --log-opt max-size=1g nginx
    
  • 创建一个安装的目录

    mkdir -p /root/data/docker_data/nginx
    
  • 进入目录

    cd /root/data/docker_data/nginx
    
  • 转换为docker-compose.yaml文件

    vim docker-compose.yml
    
    version: '3.9'
    services:nginx:image: nginxlogging:options:max-size: 1grestart: alwaysvolumes:- '/var/run/docker.sock:/tmp/docker.sock:ro'ports:- '8022:80'

    image-20240227114234833

  • 执行docker-compose.yaml文件,创建测试nginx容器。

    docker compose up -d
    
  • 查看nginx容器状态

docker ps
  • 访问nginx服务,可以正常访问。

    fe1e1eecda3c5a4c392661925f1358d

我们就成功在本地搭建了it-tools工具箱,但如果想实现出门在外,也能随时随地使用it-tools进行异地工作就需要借助cpolar内网穿透工具来实现公网访问了!接下来介绍一下如何安装cpolar内网穿透并实现it-tools工具箱的公网访问!

4. 安装cpolar内网穿透

下面是安装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 管理界面配置即可。

接下来配置一下it-tools的公网地址,

登录后,点击左侧仪表盘的隧道管理——创建隧道,

创建一个it-tools的公网http地址隧道

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

image-20240227115922647

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

image-20240227120017363

使用上面的Cpolar https公网地址,在任意设备的浏览器进行访问,即可成功看到it-tools界面,这样一个公网地址且可以远程访问就创建好了,使用了cpolar的公网域名,无需自己购买云服务器,即可到公网进行远程访问音乐播放器了!

image-20240227120109785

小结

如果我们需要长期异地远程访问it-tools工具箱,由于刚才创建的是随机的地址,24小时会发生变化。另外它的网址是由随机字符生成,不容易记忆。如果想把域名变成固定的二级子域名,并且不想每次都重新创建隧道来访问it-tools工具箱,我们可以选择创建一个固定的http地址来解决这个问题。

5. 固定it-tools公网地址

我们接下来为其配置固定的HTTP端口地址,该地址不会变化,方便分享给别人长期查看你的博客,而无需每天重复修改服务器地址。

配置固定http端口地址需要将cpolar升级到专业版套餐或以上。

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

image-20240227120441544

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

image-20240227120454681

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

image-20240227120528558

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

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

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

image-20240227120641522

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

image-20240227120716440

最后,我们使用固定的公网https地址访问,可以看到访问成功,这样一个固定且永久不变的公网地址就设置好了,可以随时随地进行异地访问it-tools工具箱了!

image-20240227120816713

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

鸿蒙OS开发实例:【通知消息】

背景 HarmonyOS 论坛中有研发人员求助,反馈通知没有没有声音,因此在真机上验证了一下,果不其然,没有通知的提示音,后来解决办法也非常简单,在手机设置应用中,将可以打开的通知提示统统改为铃声…

告别繁琐代码,只需简单拖拽,便可从0到1开发!

告别繁琐代码,拥抱科技未来!只需简单拖拽,便可从0到1开发!代码即刻生成,一键下载,轻松上手。我们的低代码平台,不仅高效便捷,更完全开源,让你自由探索编程的无限可能&…

设计模式-装饰者模式在Java中使用实例-打印发票装饰抬头和脚注

场景 设计模式-装饰者模式在Java中的使用示例: 设计模式-装饰者模式在Java中的使用示例_java装饰者模式例子-CSDN博客 上面装饰器的调用示例如下 AbstarctComputer computer;//要买1台电脑computer new BaseComputer();//加一个内存条computer new MemoryDecor…

【面试专题】Spring高频面试题

1.Spring应该很熟悉吧?来介绍下你的Spring的理解 有些同学可能会抢答,不熟悉!!! 好了,不开玩笑,面对这个问题我们应该怎么来回答呢?我们给大家梳理这个几个维度来回答 1.1 Spring的发展历程 先介绍Spring是怎么来的…

密码学 总结

群 环 域 群 group G是一个集合,在此集合上定义代数运算*,若满足下列公理,则称G为群。 1.封闭性 a ∈ G , b ∈ G a\in G,b\in G a∈G,b∈G> a ∗ b ∈ G a*b\in G a∗b∈G 2.G中有恒等元素e,使得任何元素与e运算均为元素本…

鸿蒙(HarmonyOS)ArkTs语言基础教程开发准备

本文档适用于HarmonyOS应用开发的初学者。通过构建一个简单的具有页面跳转/返回功能的应用(如下图所示),快速了解工程目录的主要文件,熟悉HarmonyOS应用开发流程。 在开始之前,您需要了解有关HarmonyOS应用的一些基本概…

誉天华为认证存储HCIE课程怎么样

HCIA-Storage 课程介绍课程适合转行想进入IT行业者、零基础学员、IT从业人员、存储爱好者等 实验环境全真机,练习时间自由,7*24开机,可以随时通过远程连接进行试验课程内容 存储发展历史 存储硬件介绍 硬盘接口介绍 RAID技术 RAID2.…

解码视频流在opengl中的贴图投影计算

解码视频流在opengl中的贴图投影计算 修改顶点着色器cpp 文件放大缩小 我们把视频当成纹理,首先要确定贴入的坐标,原始坐标如下所示 static float vertices[] {// ---- 位置 ---- ---- 颜色 ---- - 纹理坐标 -1.0f, 1.0f, 0.0f, 1.0f, 0.0f, 0.0f…

表单全选反选(前端)

1.Html和JavaScript <table><tr><th class"allCheck"><input type"checkbox" name"" id"checkAll"> <span class"all">全选</span></th><th>商品</th><th>商…

【成功案例】间隔数月双团伙先后利用某ERP0day实施入侵和勒索的解密恢复项目

1.背景 在2024年3月23日&#xff0c;我们的Solar应急响应团队&#xff08;以下简称Solar团队&#xff09;应某公司之邀&#xff0c;介入处理了一起财务系统服务器遭受黑客攻击的事件。该事件导致服务器上大量文件被加密。我们的团队迅速获取了一个被加密的文件&#xff0c;并立…

深度剖析:计算机集群在大数据体系中的关键角色和技术要点

什么是计算机集群&#xff1f; 计算机集群是一组相互连接的计算机&#xff08;服务器&#xff09;&#xff0c;它们协同工作以完成共同的任务。集群中的每个计算机节点都可以独立运行&#xff0c;但它们通过网络连接在一起&#xff0c;以实现更高的可靠性、性能和可扩展性。 典…

多图详细教你注册Google(Gmail)新账号,常见问题和注意事项

对于做外贸&#xff0c;或者需要和外国客户、朋友沟通的小伙伴来说&#xff0c;一个Google账号&#xff08;也就是Gmail账号&#xff0c;下述统一用Google账号来表述&#xff09;是非常必要的&#xff0c;一方面是通过Gmail邮箱收发邮件、沟通往来&#xff0c;另一个方面是很多…

3.29 文章翻译RO——Robust scheduling of building energy system under uncertainty

highlight 我们建立了一个带有冷却器和冰热能储存的建筑能源系统模型。 提出了一种两阶段鲁棒策略来调度系统运行。 具有适当参数的鲁棒策略优于确定性方法。 鲁棒策略和MPC方法的性能相似。 本文提出了一种鲁棒调度策略&#xff0c;用于在预测不确定的情况下管理具有太阳能发电…

[计算机毕业设计]基于SSM的宠物管理系统-介绍及文章指导

&#x1f389;**欢迎来到琛哥的技术世界&#xff01;**&#x1f389; &#x1f4d8; 博主小档案&#xff1a; 琛哥&#xff0c;一名来自世界500强的资深程序猿&#xff0c;毕业于国内知名985高校。 &#x1f527; 技术专长&#xff1a; 琛哥在深度学习任务中展现出卓越的能力&a…

【Git项目部署到本地仓库】

1. 下载安装Git 根据您的操作系统&#xff0c;访问Git的官方网站&#xff1a;https://git-scm.com/download/win 具体安装教程请访问其他博客&#xff0c;例如&#xff1a;http://t.csdnimg.cn/I28VO 安装完成后&#xff0c;您可以通过在winR键输入cmd打开命令行输入 git -…

服务器设置了端口映射之后外网还是访问不了服务器

目录 排查思路参考&#xff1a; 1、确认服务是否在运行 2、确认端口映射设置是否正确 3、使用防火墙测试到服务器的连通性 4、检查服务内部的配置 5、解决办法 6、学习小分享 我们在一个完整的网络数据存储服务系统设备中都会存有业务服务器、防火墙、交换机、路由器&a…

实现一个Google身份验证代替短信验证

最近才知道公司还在做国外的业务&#xff0c;要实现一个登陆辅助验证系统。咱们国内是用手机短信做验证&#xff0c;当然 这个google身份验证只是一个辅助验证登陆方式。看一下演示 看到了嘛。 手机下载一个谷歌身份验证器就可以 。 谷歌身份验证器&#xff0c;我本身是一个基…

[springboot源码探索]返回值处理

[springboot源码探索]返回值处理 开始处理返回值 public class ServletInvocableHandlerMethod extends InvocableHandlerMethod {// ...// 返回值处理器组(组合模式,可以理解为一组返回值处理器)private HandlerMethodReturnValueHandlerComposite returnValueHandlers;publ…

C++11标准 - 声明(auto,decltype,nullptr)

C11标准 - 声明&#xff08;auto&#xff0c;decltype&#xff0c;nullptr&#xff09; 前言1. auto2. decltype3. nullptr 前言 c11提供了多种简化声明的方式&#xff0c;尤其是在使用模板时。 1. auto 在C98中auto是一个存储类型的说明符&#xff0c;表明变量是局部自动存…

ChatGPT实体化了!手机变身ChatGPT实体机器人,只需一个配件,能说话还会做梦,真的牛!

你有没有想过&#xff0c;如果有一天ChatGPT有了身体&#xff0c;跑到你办公桌上成了你的宠物&#xff0c;这是个多么有趣的场景&#xff0c;LOOI就是这样一款把幻想带进现实的产品 不得不说&#xff0c;ChatGPT让具身智能达到了新高度&#xff0c;LOOI便应运而生。 分享几个网…