如何使用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: nginx
            logging:
                options:
                    max-size: 1g
            restart: always
            volumes:
                - '/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

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

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

相关文章

Rocky Linux 运维工具 ls

一、ls 的简介 ​​ls​ 用于列出当前目录下的文件和目录,以及它们的属性信息。通过 ​ls​命令可以查看文件名、文件大小、创建时间等信息,并方便用户浏览和管理文件。 二、ls 的参数说明 序号参数描述1-a显示所有文件,包括以 ​.​开头的…

C# OpenVINO Nail Seg 指甲分割 指甲检测

目录 效果 模型信息 项目 代码 数据集 下载 C# OpenVINO Nail Seg 指甲分割 指甲检测 效果 模型信息 Model Properties ------------------------- date:2024-02-29T16:41:28.273760 author:Ultralytics task:segment version&#…

msys2使用MinGW64编译ffmpeg 64bit库

搭建编译环境 下载安装msys2,参考文章《QT Mingw编译ffmpeg源码以及测试》。 安装必要的库文件 双击msys2安装目录下的msys2.exe,在cmd窗口中执行以下命令: //升级所有库 pacman -Syu //使用下列命令安装ffmpeg编译的依赖和工具 pacman -S mingw-w64-x8…

插值、逼近、拟合、光顺

插值 插值(Interpolation)是数学和计算科学中的一个重要概念,它指的是通过已知的一系列数据点,构造一个函数或曲线,并据此估计未知数据点的值。这个过程通常发生在已知数据点之间,用于预测或估算在这些已知…

操作系统系列学习——系统调用的实现

文章目录 前言系统调用的实现 前言 一个本硕双非的小菜鸡,备战24年秋招,计划学习操作系统并完成6.0S81,加油! 本文总结自B站【哈工大】操作系统 李治军(全32讲) 老师课程讲的非常好,感谢 【哈工…

【飞桨EasyDL】飞桨EasyDL发布的模型转换onnx(附工程代码)

一个愿意伫立在巨人肩膀上的农民...... 一、paddle转onnx转rknn环境搭建 paddle转onnx和onnx转rknn两个环境可以分开搭建,也可以搭建在一起。这里选择分开搭建,先搭建paddle转onnx。 1.1、创建环境 选择python3.8.13包进行创建环境 conda create --nam…

事物管理(黑马学习笔记)

事物回顾 在数据库阶段我们已学习过事务了,我们讲到: 事物是一组操作的集合,它是一个不可分割的工作单位。事务会把所有的操作作为一个整体,一起向数据库提交或者是撤销操作请求。所以这组操作要么同时成功,要么同时…

经典DP-最长单调子序列

最长递增子序列 思路 定义状态: 我们定义一个数组 dp,其中 dp[i] 表示以 nums[i] 结尾的最长递增子序列的长度。初始化状态: 对于数组中的每个元素 nums[i],初始时都可以被视为一个长度为1的递增子序列,因此 dp[i] 的…

Mac电脑输入正确密码后提示密码错误

🏝 背景 Mac Pro 在擦键盘时,屏幕一直亮起,导致密码一致输入错误,想来没有什么问题便没有处理。但是!!!在擦完键盘后输入正确的密码依旧提示密码错误😱 接下来就是不断的重启、关机…

如何制作一款建材商城微信小程序

现在,微信小程序已经成为了很多企业和商家开展线上业务的重要渠道之一。对于建材商城而言,制作一款专属的微信小程序可以帮助企业更好地展示产品、提供服务,并增加销售额。下面将介绍如何制作一款建材商城微信小程序。 首先,登录【…

ai作画在线生成!这8个AI生图工具一定要知道。

过去的2023年被称作AI元年,随之而来的2024,被业内人士称之为AI应用元年,即随着大模型和各类AI应用的涌现速度放缓,人们关注的焦点也从产品层面(有哪些好用的AI应用),转移到AI如何更好地赋能实际…

如何下载和配置Linux(使用VMware部署Centos)--看这篇文章就懂了

目录: LinuxLinux概述Linux特点Linux的各个发行版本Linux和Windows区别 Linux的下载和安装安装VMWare虚拟机和Centos安装Centos实现Linux的远程登录使用Xshell连接 Linux Linux概述 Linux内核最初只是由芬兰人林纳斯托瓦兹1991年在赫尔辛基大学上学时出于个人爱好而编写的。 …

会声会影2024出来了吗?

近年来,随着人们对于娱乐和创意的需求不断增长,视频编辑软件也越来越受到大众的关注。其中,会声会影是一款备受欢迎的视频编辑软件,许多用户都在关注其新版本——会声会影2024。 然而,目前并没有官方宣布会声会影2024的…

一文速览深度伪造检测(Detection of Deepfakes):未来技术的守门人

一文速览深度伪造检测(Detection of Deepfakes):未来技术的守门人 前言一、Deepfakes技术原理卷积神经网络(CNN):细致的艺术学徒生成对抗网络(GAN):画家与评审的双重角色…

车载电子电器架构 —— 车辆模式管理

车载电子电器架构 —— 车辆模式管理 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的…

Python算法题集_组合总和

Python算法题集_组合总和 题39:组合总和1. 示例说明2. 题目解析- 题意分解- 优化思路- 测量工具 3. 代码展开1) 标准求解【值传递回溯】2) 改进版一【引用传递堆栈回溯】3) 改进版二【过程值列表缓存遍历后检索】 4. 最优算法5. 相关资源 本文为Python算法题集之一的…

JVM运行流程

⭐ 作者:小胡_不糊涂 🌱 作者主页:小胡_不糊涂的个人主页 📀 收录专栏:JavaEE 💖 持续更文,关注博主少走弯路,谢谢大家支持 💖 JVM 1. 运行流程2. 运行时数据区2.1 堆&am…

【精品】集合list去重

示例一&#xff1a;对于简单类型&#xff0c;比如String public static void main(String[] args) {List<String> list new ArrayList< >();list.add("aaa");list.add("bbb");list.add("bbb");list.add("ccc");list.add(…

C++——模板详解

目录 模板 函数模板 显示实例化 类模板 模板特点 模板 模板&#xff0c;就是把一个本来只能对特定类型实现的代码&#xff0c;变成一个模板类型&#xff0c;这个模板类型能转换为任何内置类型&#xff0c;从而让程序员只需要实现一个模板&#xff0c;就能对不同的数据进行操…

4.2 数据的描述性统计

1、总体规模的描述——总量指标 定义&#xff1a;反映在一定时间、空间条件下某种现象的总体规模、总水平或总成果的统计指标。 eg&#xff1a;营业额、利润等 2、总体规模的描述——相对指标 定义&#xff1a;两个有相互联系的指标数值之比 eg&#xff1a;目标完成率&…