Docker Compose管理新范式:可視化控制臺結合cpolar提升容器編排效率?

文章目錄

    • 前言
    • 1. 安裝Docker
    • 2. 檢查本地docker環境
    • 3. 安裝cpolar內網穿透
    • 4. 使用固定二級子域名地址遠程訪問

前言

在容器化應用部署領域,Docker Compose UI為開發者提供了一種更直觀的解決方案。這款工具以Web界面形式封裝了Docker Compose的核心功能,在保持與命令行接口(CLI)完全兼容的前提下,通過HTTP API簡化了多服務編排操作。用戶無需記憶復雜指令即可執行啟動、停止和查看容器狀態等基礎動作,同時還能直接監控各組件間的依賴關系圖譜。

對于需要遠程管理的場景,cpolar內網穿透技術賦予了該工具更強的實用性:開發者只需簡單配置,就能通過公網地址安全訪問本地部署的服務。這意味著即使身處異地,也能實時檢查測試環境運行狀態或快速響應生產環境問題——這種"可視化+遠程化"的組合顯著降低了容器集群管理的技術門檻。

本篇文章將dockercompose結合cpolar內網穿透軟件實現公網訪問docker compose web可視化界面,更直觀的進行遠程編寫。

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. 檢查本地docker環境

檢查系統版本

cat /etc/os-release 

image-20240206110627721

檢查docker狀態

systemctl status docker

image-20240206110513105

下載Docker Compose UI鏡像

docker pull francescou/docker-compose-ui:1.13.0

image-20240206111413603

部署Docker Compose UI服務:

新建安裝目錄

 mkdir -p /data/compose-uicd /data/compose-ui/

創建Docker Compose UI容器

docker run -it -d --name docker-web -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock docker.io/uifd/ui-for-docker

打開新的瀏覽器,輸入本機IP:9000,進入到docker compose ui界面,啟動了 DockerUI容器之后,就可以用它來執行啟動、暫停、終止、刪除以及DockerUI提供的其它操作Docker容器的命令。

b2287b47d019a6d12d63f9e139db0c2

可以更直觀的查看docker容器

7c65e6cedc3141da9da1144e82ead55

擊Action,可以對已有的鏡像鏡像移除操作。點擊Pull,可以拉取鏡像。點擊鏡像ID進去后可以添加或移除鏡像tag
image-20240206132247375

我們就成功在本地搭建了docker compose ui可視化工具,但是如果有時候我們需要異地來遠程訪問docker容器來執行啟動、暫停、終止、刪除等,這個時候我們就需要使用cpolar內網穿透工具,實現在公網上無需公網ip就可以直接訪問docker。

3. 安裝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 管理界面配置即可。

接下來配置一下docker compose ui的公網地址,

登錄后,點擊左側儀表盤的隧道管理——創建隧道,創建一個公網http地址隧道

  • 隧道名稱:可自定義命名,注意不要與已有的隧道名稱重復

  • 協議:選擇http

  • 本地地址:9000 (本地訪問的地址)

  • 域名類型:免費選擇隨機域名

  • 地區:選擇China Top

    image-20240206133335895

創建成功后,打開左側在線隧道列表,查看剛剛創建隧道后生成兩個公網地址,接下來就可以在其他電腦(異地)上,使用任意一個地址復制到瀏覽器訪問即可。

image-20240206133536783

可以看到,能夠正常公網遠程訪問。

image-20240206133918532

小結

為了方便演示,我們在上邊的操作過程中使用了cpolar生成的http公網地址隧道,其公網地址是隨機生成的。

這種隨機地址的優勢在于建立速度快,可以立即使用。然而,它的缺點是網址是隨機生成,這個地址在24小時內會發生隨機變化,更適合于臨時使用。

如果有長期遠程訪問docker compose ui的需求,但又不想每天重新配置公網地址,還想地址好看又好記,那我推薦大家選擇使用固定二級子域名地址的方式來遠程訪問。

4. 使用固定二級子域名地址遠程訪問

接下來保留一個固定http地址,登錄cpolar官網,點擊左側的預留,找到保留二級子域名,為遠程服務器連接保留一個固定二級子域名地址:

  • 地區:選擇China VIP
  • 描述:即備注,可自定義,本例使用

點擊保留

image-20240206134246900

地址保留成功后,復制生成的公網地址,打開cpolar web ui管理界面,點擊左側儀表盤的隧道管理——隧道列表,找到我們剛才創建的隨機公網地址隧道 compose,點擊編輯

image-20240206134408276

修改隧道信息,將剛才保留成功的固定http地址:compose配置到隧道中

  • 域名類型:選擇二級子域名
  • 預留的http地址:復制粘貼官網保留成功的地址,本例中為:compose
  • 地區選擇:China VIP

點擊更新

image-20240206134535669

隧道更新成功后,點擊左側儀表盤的狀態——在線隧道列表,可以看到公網地址已經更新為了兩個固定二級子域名地址。

image-20240206134728766

接下來與之前的操作一樣,可以在其他電腦(異地)上,使用任意一個固定二級子域名地址復制到瀏覽器訪問即可。

image-20240206134814224

如上圖所示,即為配置成功。我們現在就能在公網使用cpolar內網穿透工具生成的永久不變的固定二級子域名,使用任意瀏覽器遠程訪問docker compose ui了,無需購買域名服務器,也不用設置路由器那么麻煩,輕松實現大家遠程訪問本地服務的需求!

當傳統命令行遇上Web界面創新,Docker Compose UI正在重新定義容器編排的工作流效率標準。

本篇文章知識點來源[cpolar官網][https://www.cpolar.com]

  1. cpolar博客:配置二級子域名: https://www.cpolar.com/blog/configure-the-secondary-subdomain-name
  2. cpolar博客:配置自定義域名: https://www.cpolar.com/blog/configure-your-own-domain-name
  3. cpolar博客:配置固定TCP端口地址: https://www.cpolar.com/blog/configure-fixed-tcp-port-address
  4. cpolar博客:配置固定FTP地址: https://www.cpolar.com/blog/configure-fixed-ftp-address

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/92057.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/92057.shtml
英文地址,請注明出處:http://en.pswp.cn/web/92057.shtml

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

相關文章

BSW總結

1.FBL:【有道云筆記】BSW_FBL https://share.note.youdao.com/s/NaeZWTuR 2.NM: 【有道云筆記】BSW_NM https://share.note.youdao.com/s/MKxlIpUS

spring循環依賴解決

問題描述 spring循環依賴是對于ioc容器。類A、B、C,類A依賴了B,類A依賴了C,類B依賴了A,類C依賴了A。假如現在類A需要放到ioc,屬性賦值的時候會去找B這個bean,但是B不存在,于是去創建B這個bean&a…

最新安卓原生對接蘋果cms App后端+app(最新優化版)

內容目錄一、詳細介紹二、效果展示1.部分代碼2.效果圖展示三、學習資料下載一、詳細介紹 一定要按照教程教的來搭建! App演示圖片 二、效果展示 1.部分代碼 代碼如下(示例): public static function apkinfo(){return self::…

嵌入式硬件中運放的基本控制原理

上次課的最后是給大家總結一些基礎電子知識的,我們接著往下講。我們知道了運放的虛短虛斷的概念理論上來說 可以進行計算了是吧。 這個圖實際上是一個正輸入信號的同相放大電路,我們看下如何計算,第一先看虛斷。運放的輸入腳內部對地是阻抗十分大是吧,那么這個正輸入腳上的…

聚集索引與非聚集索引的區別

聚集索引(Clustered Index)和非聚集索引(Non-Clustered Index)是索引設計的核心概念,二者的本質區別體現在 與數據物理存儲的關聯方式 上,這種區別直接決定了它們的性能特性和適用場景。我們平時說的 聚簇索…

《零基礎入門AI:傳統機器學習進階(從擬合概念到K-Means算法)》

一、欠擬合與過擬合欠擬合(Underfitting) 欠擬合是指模型在訓練數據上表現不佳,同時在新的未見過的數據上也表現不佳。這通常發生在模型過于簡單,無法捕捉數據中的復雜模式時。欠擬合模型的表現特征如下: 訓練誤差較高。測試誤差同樣較高。模…

Datawhale AI夏令營 第三期 task2 稍微改進

在打造基于大語言模型(LLM)文檔檢索的問答系統中,財經研報類文檔是最具挑戰的場景之一。它包含圖文混排、精細定位需求(頁碼、文件名)、問題措辭高度多樣化等一系列復雜性。 下面的內容是大模型輔助整理的:…

LeetCood算法題~水果成籃

水果成籃 你正在探訪一家農場,農場從左到右種植了一排果樹。這些樹用一個整數數組 fruits 表示,其中 fruits[i] 是第 i 棵樹上的水果 種類 。你想要盡可能多地收集水果。然而,農場的主人設定了一些嚴格的規矩,你必須按照要求采摘水…

【Lua】題目小練8

-- 題目 1&#xff1a;定義一個類 Person-- 屬性&#xff1a;name、age&#xff0c;其中 age 默認是 0&#xff0c;不能小于 0。-- 方法&#xff1a;introduce()&#xff0c;輸出 "My name is <name>, I am <age> years old."-- 要求使用封裝思想&#x…

SAP PP CK466

原因 作業價格沒有維護 解決方案 KP26

如何解決pip安裝報錯ModuleNotFoundError: No module named ‘keras’問題

【Python系列Bug修復PyCharm控制臺pip install報錯】如何解決pip安裝報錯ModuleNotFoundError: No module named ‘keras’問題 摘要 在使用 PyCharm 進行深度學習項目開發時&#xff0c;常常需要通過 pip install keras 來安裝 Keras 庫。但有時即便命令執行成功&#xff0c…

人工智能領域、圖歐科技、IMYAI智能助手2024年全年歷史更新大事件匯總

2024年 2024年12月29日 【通知】 1、主站導出文檔功能優化升級&#xff0c;新增支持了純文本WORD導出功能&#xff0c;支持使用WPS軟件打開 注&#xff1a;原來的富文本WORD不支持使用WPS打開&#xff0c;只支持系統自帶的WORD軟件打開&#xff0c;比如Microsoft Office Word 2…

UWB實操:使用UCI CMD測距;UCI CMD是一串數字,創建測距session,配置測距session,開始測距session。

使用UCI CMD測距; UCI CMD是一串數字,創建測距session,配置測距session,開始測距session。根據 FiRa_UCI_Technical_Specification,我們可以分析并組織測距cmd 例如: Fira2.0 1v1 發起 DSTWR 創建測距session:210000052222222200 配置測距session: 2103001F222…

從AUTOSAR角度理解CAN以及CANFD

一、AUTOSAR對CAN和CAN FD的基礎定位 CAN&#xff1a;基于傳統CAN 2.0B協議&#xff0c;是AUTOSAR早期版本&#xff08;如4.0.3及之前&#xff09;的核心車載通信協議&#xff0c;支持最大8字節 payload&#xff0c;仲裁段波特率通常≤1Mbps&#xff0c;適用于低帶寬、高實時性…

第27章:服務部署與容器化

1. 課程引言 在前面的章節中&#xff0c;我們已經完成了電商項目核心服務的開發。然而&#xff0c;開發完成只是項目生命周期的一部分&#xff0c;如何將這些服務高效、可靠地部署到生產環境&#xff0c;是決定項目成敗的關鍵一步。本章將聚焦于服務的部署&#xff0c;重點介紹…

力扣148:排序鏈表

力扣148:排序鏈表題目思路代碼題目 給你鏈表的頭結點 head &#xff0c;請將其按 升序 排列并返回 排序后的鏈表 。 思路 當我們第一眼看見這道題時心中其實是有思路的&#xff0c;我們不想這是個鏈表就當它是一個整型數組。那么自然而然就會想到各種各樣的排序方法&#xf…

基于k8s環境下的pulsar常用命令(下)

#作者&#xff1a;Unstopabler 文章目錄permissionSchemapermission pulsar的權限控制是在namespace級別的 kubectl exec pulsar-toolset-0 -n pulsar – bin/pulsar-admin namespaces grant-permission mytenant/mynamespace –actions produce,consume –role admin10 注…

2.4 組件通信

Props 和 Events&#xff08;父子組件通信&#xff09;Props&#xff1a;父組件向子組件傳遞數據使用 props。子組件通過聲明 props 來接收來自父組件的數據。<!-- 父組件 --> <template><ChildComponent :message"parentMessage" /> </templat…

PCL學習之路-基礎知識-(一)

文章目錄1.西門子S7系列PLC類型劃分(1).大型PLC&#xff1a;S7-400(2).中型PLC&#xff1a;S7-300(3).小型PLC&#xff1a;S7-200系列2.西門子S7外形結構(1).總覽&#xff1a;PLC的“器官”分工邏輯3.輸出電路(1).小型繼電器輸出形式(2).大功率晶體管/場效應管輸出形式(3).雙向…

leetcode654:最大二叉樹(遞歸與單調棧雙解法)

文章目錄一、 題目描述二、 核心思路&#xff1a;分而治之與遞歸構造三、代碼實現與深度解析四、 關鍵點與復雜度分析五、拓展解法單調棧解法兩種解法對比LeetCode 654. 最大二叉樹&#xff0c;【難度&#xff1a;中等&#xff1b;通過率&#xff1a;82.6%】&#xff0c;這道題…