如何使用Docker部署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.hqwc.cn/news/499401.html

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

相关文章

Linux网络编程(四-TCP协议)

目录 一、TCP概念 二、TCP的首部格式 三、TCP可靠传输机制 3.1 确认应答机制 3.2 超时重传机制 3.3 连接管理 3.3.1 三次握手 3.3.2 四次挥手 3.4 流量控制 3.5 拥塞控制 四、TCP效率机制 4.1 滑动窗口 4.2 重发控制 4.3 延迟应答 4.4 捎带应答 五、TCP的…

利用观测云实现 Kubernetes 多集群可观测

简介 观测云的工作空间接入多个 Kubernetes 集群时,是如何区分不同集群,达到多集群的可观测性? 增加Tag NAMESPACE:DataKit 选举空间,需要设置 ENV_NAMESPACE 环境变量,值为非空字符,不同集群…

第三百七十回

文章目录 1. 概念介绍2. 使用方法2.1 获取所有时区2.2 转换时区时间 3. 示例代码4. 内容总结 我们在上一章回中介绍了"分享一些好的Flutter站点"相关的内容,本章回中将介绍timezone包.闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 我们在…

力扣递归:路径总和

思路:此题思路为递归实现,递归思路为:在每层递归的过程中将各个节点的数据记录下来,不断将减少目标数据的值准备进行判断,当进行到叶子节点时要进行判断 /*** Definition for a binary tree node.* struct TreeNode {…

服务式办公室联合办公空间,傻傻分不清楚

服务式办公室是一种灵活的办公解决方案,适合各种规模和类型的企业,尤其是那些寻求成本效益和灵活租赁条件的新兴企业。以下是服务式办公室的主要使用者和设施特点: 谁会使用服务式办公室? 新兴初创企业:由于初创企业在…

面试笔记系列四之SpringBoot+SpringCloud+计算机网络基础知识点整理及常见面试题

目录 Spring Boot 什么是 Spring Boot? Spring Boot 有哪些优点? SpringBootApplication注解 Spring Boot 的启动流程 Spring Boot属性加载顺序 springboot自动配置原理是什么?(*) 如何理解springboot中的start…

Leetcode—64. 最小路径和【中等】

2024每日刷题&#xff08;116&#xff09; Leetcode—64. 最小路径和 实现代码 class Solution { public:int minPathSum(vector<vector<int>>& grid) {int m grid.size();int n grid[0].size();vector<vector<int>> dp(m 1, vector<int&g…

配电房智能辅助监控系统设计

业务背景 工业企业、学校、医院、居民小区等单位有这海量的配电房&#xff0c;这些配电房内的配电设备种类多、运行环境复杂&#xff0c;存在各种各样的安全隐患。目前这些配电房主要依靠人员在场值守或巡检方式进行管理&#xff0c;但单纯的人工运维方式既成本高&#xff0c;…

pycharm基本操作,零基础快速上手

新建项目 pycharm安装完成后&#xff0c;双击pycharm的图标&#xff0c;打开pycharm。如果是首次使用的话选择Create New Project创建一个新项目。 进入pycharm后也可以通过以下方式新建一个项目&#xff0c;点击菜单栏File–New Project。 2. 选择项目路径和python环境&…

C++设计模式——抽象工厂模式

文章目录 抽象工厂模式的主要组成部分抽象工厂模式的一个典型例子抽象工厂模式用于其他场景抽象工厂模式与其他设计模式结合使用 C 中的抽象工厂模式是一种创建型设计模式&#xff0c;它主要用于处理对象家族的创建&#xff0c;这些对象之间可能存在一定的关联关系或属于相同的…

开仓济民 SWUST OJ 1175

有个王国在某年爆发了旱灾&#xff0c;于是那里的国王准备开仓济民。已知&#xff0c;第一天发一公斤粮食&#xff0c;第二天发两公斤粮食&#xff0c; 第三天发四公斤粮食。。。。。第二天发的粮食是前一天的两倍。我们已知安抚灾民一共需要m公斤粮食&#xff0c;问第几天国 王…

接口被恶意刷了!老板怒吼一声而我打开这篇文章!

在网络安全领域&#xff0c;恶意刷接口是一种常见的攻击手段&#xff0c;可能导致服务资源耗尽、数据泄露等严重后果。为了应对这一问题&#xff0c;我们需要采取一系列防范措施。 防火墙 数据包过滤与验证&#xff1a;防火墙具备对传入和传出网络的数据包进行深度分析和过滤…