使用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.pswp.cn/news/711758.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/711758.shtml
英文地址,請注明出處:http://en.pswp.cn/news/711758.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

qt QRadioButton 及QButtonGroup 使用

QRadioButton 放在組合框QGroupBox中,再點擊時,即使有多個QRadioButton按鈕,同時選中的也就只有一個。 如下圖所示, 對于多個QRadioButton,每個按鈕都寫一個槽函數是不太明智的選擇,需要將QRadioButton放在…

海外服務器ping丟包怎么辦?

一般跨境企業比如說跨境電商、游戲等等都會有海外各個節點服務器的需求,包括對海外服務器的需求。當使用海外服務器時 ,難免會出現一些問題,比如說丟包。那么,當海外服務器丟包的話,該如何處理呢? 說到丟包…

「MySQL」增刪查改

在操作數據庫中的表時,需要先使用該數據庫: use database;新增 創建表 先用 use 指定一個數據庫,然后使用 create 新增一個表 比如建立一個學生表 mysql> use goods; mysql> create table student(-> name varchar(4),-> age int,-> …

Compose 介紹

Compose 介紹 Android Compose 是 Google 官方推出的用于構建原生 Android UI 的現代工具包。它使用 Kotlin 語言編寫,可以幫助開發人員更輕松、更快速地創建精美、響應式和高性能的 Android 應用。 Compose 的優勢 聲明式 UI: Compose 使用聲明式 UI…

IIS部署.Net 7項目

👨 作者簡介:大家好,我是Taro,前端領域創作者 ?? 個人主頁:唐璜Taro 🚀 支持我:點贊👍📝 評論 ??收藏 文章目錄 前言一、發布項目二、解決發布失敗1.發布失敗2.托管…

深入理解計算機系統筆記

1.1 嵌套的數組 當我們創建數組的數組時,數組分配和引用的一般原則也是成立的。 例如,聲明 int A[5][3]; 等價于下面的聲明 typedef int row3_t[3]; row3_t A[5] 要訪問多維數組的元素,編譯器會以數組起始為基地址, (可能需…

【Ai生態開發】Spring AI上架,打造專屬業務大模型,AI開發再也不是難事!

大家好 這里是蘇澤 后端是工作 ai是興趣 對于ai的產生我的立場是擁抱ai的 是希望拿他作為提升能力的工具 那么這一篇帶大家來學習如何使用ai打造一個專屬的業務大模型 需求 就是說假設現在有一個 商城系統 里面有查詢訂單的api和獲取商品購買方式的api 用戶只需要輸入 “…

C++二叉搜樹的實現(遞歸和非遞歸)

目錄 1.什么是二叉搜索樹 2.二叉搜索樹的查找 3.二叉搜索樹插入 4.二叉搜索樹的刪除 1.刪除的節點只有左子樹或者右子樹 2.刪除節點左右子樹都有的情況 5.代碼 1.什么是二叉搜索樹 左節點的值小于根節點 右節點大于根節點 左右子樹也滿足上面兩個條件 例:…

平臺工程與安全

平臺工程不是為了取代DevOps,而是DevOps的進一步演進和發展。本文介紹了DevOps和平臺工程,以及對于安全的意義。原文: Platform Engineering and Security: A Very Short Introduction 中國云南大理的日落 我是一名 DevOps 工程師,個人還是希…

c# 調用存儲過程

1.調用返回OUT的存儲過程 a.調用OUT字符串的存儲過程&#xff1b; #region 連接數據庫/// <summary>/// 連接數據庫/// </summary>/// <param name"connStatus"></param>/// <param name"dbNode"></param>/// <ret…

Android WebView訪問網頁+自動播放視頻+自動全屏+切換橫屏

一、引言 近期&#xff0c;我發現電視家、火星直播等在線看電視直播的軟件都已倒閉&#xff0c;而我奶奶也再無法通過這些平臺看電視了。她已六十多歲&#xff0c;快七十歲啦。這些平臺的倒下對我來說其實沒有多大的影響&#xff0c;但是對于文化不多的她而言&#xff0c;生活中…

Linux下的時間同步,以及ntp時間服務器配置流程

Linux下的時間同步&#xff0c;以及ntp時間服務器配置流程 概論常見時間操作命令Linux下的系統時間配置Linux硬件的時間的設置系統時間和硬件時間的同步NTP服務器時間的同步NTP服務的安裝NTP的時間同步定時任務里的時間同步配置文件同步時間 概論 但在Linux下&#xff0c;系統…

SpringBoot中間件簡介

Spring Boot是一個Java框架&#xff0c;它提供了一系列中間件來簡化應用程序的開發和集成。以下是一些常見的Spring Boot中間件&#xff1a; Web中間件&#xff1a; Servlet容器&#xff08;內嵌Tomcat、Jetty或Undertow&#xff09; Spring MVC&#xff08;用于構建Web應用程…

HBuilderX創建uniapp項目使用 tailwindcss

文章目錄 一、創建package.json文件二、打開終端 yarn / npm 安裝依賴三、創建 vue.config.js文件四、創建postcss.config.js文件五、創建tailwind.config.js文件六、App.vue文件的style中引入tailwindcss 一、創建package.json文件 {"devDependencies": {"aut…

藍橋杯算法 一.

分析&#xff1a; 本題記錄&#xff1a;m個數&#xff0c;異或運算和為0&#xff0c;則相加為偶數&#xff0c;后手獲勝。 分析&#xff1a; 369*99<36500&#xff0c;369*100>36500。 注意&#xff1a;前綴和和后綴和問題

知識(202402)

1.Conditional Conditional來源于spring-context包下的一個注解。Conditional中文是條件的意思&#xff0c;Conditional注解它的作用是按照一定的條件進行判斷&#xff0c;滿足條件給容器注冊bean。 可以控制一個配置類是否注入到容器中&#xff0c;比如控制xxl-job不自動注冊…

【wpf】關于綁定的一點明悟

背景簡介 軟件功能為&#xff0c;讀取一個文件夾下的所有子文件夾&#xff0c;每個文件夾對自動對應生成 一組 “按鍵四個勾選” 按鍵點擊觸發&#xff0c;可以發送與其對應文件夾中的一些內容。這個綁定的過程我在之前的文章有過詳細的介紹&#xff0c;非常的簡單。 這里回顧…

3月1日做題總結(靜態庫與動態庫)

前言 最近學到了靜態庫和動態庫的相關知識&#xff0c;就順便整理了一下相關題目。如果對靜態庫和動態庫知識不熟悉的同學&#xff0c;推薦看這篇文章——《靜態庫與動態庫》&#xff0c;講的很詳細。 第一題 關于靜態庫與動態庫的區別&#xff0c;以下說法錯誤的是&#xff…

mac jupyter使用現有的python環境

mood&#xff1a;python 編程真的是在反復的與自己和解啊 本來超級的畏難情緒 讀會兒書 計算機博士的書 感覺還是要堅強的。《研磨記》--一位博士生的回憶錄 作者技術真的強啊 正文開始&#xff1a; 聚焦搜索&#xff0c;打開終端激活虛擬環境&#xff1a;conda activate pyt…

力扣爆刷第83天之hot100五連刷1-5

力扣爆刷第83天之hot100五連刷1-5 文章目錄 力扣爆刷第83天之hot100五連刷1-5一、1. 兩數之和二、49. 字母異位詞分組三、128. 最長連續序列四、283. 移動零五、11. 盛最多水的容器 一、1. 兩數之和 題目鏈接&#xff1a;https://leetcode.cn/problems/two-sum/description/?…