DockerComposeUI+cpolar:容器管理的远程可视化方案

前言:DockerComposeUI作为Docker容器的可视化管理工具,通过直观的Web界面实现容器的启动、暂停、终止等操作,支持镜像管理和Compose文件编辑。特别适合开发团队和运维人员,其图形化操作简化了复杂的命令行操作,状态面板实时显示容器运行情况,帮助快速定位问题节点,提升容器管理效率。无论是新手工程师还是资深运维,都能通过简单操作掌控容器集群状态。

实际使用中,最显著的变化是容器管理效率的提升——过去需要记忆复杂的docker-compose命令,现在只需点击按钮即可完成操作。界面布局清晰,容器状态一目了然,即使是Docker新手也能快速上手。特别是镜像管理功能,支持一键拉取和删除,大大简化了环境配置流程。团队协作时,可视化界面让沟通更顺畅,问题定位更精准。

然而,本地部署限制了工具的协作价值。当团队成员分散各地时,无法远程管理容器集群;运维人员外出时无法及时处理紧急情况;多环境(开发/测试/生产)的管理更是需要频繁切换工作地点,严重影响工作效率。这种物理限制成为容器化协作的一大障碍。


cpolar内网穿透的加入完美解决了这一痛点。通过简单配置即可将DockerComposeUI暴露至公网,团队成员无论身处何地都能安全访问容器管理界面。固定域名功能确保访问地址不变,多设备同步使用无需重复配置,真正实现了"容器管理随身带"的理想状态。安全加密传输保障操作安全,让远程容器管理不再受限于局域网。web可视化界面,更直观的进行远程编写。

目录

1. 安装Docker

 2. 检查本地docker环境

3. 安装cpolar内网穿透

4. 使用固定二级子域名地址远程访问


1. 安装Docker

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

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

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

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

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

  安装Docker引擎

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

  启动Docker

  ```sudo systemctl start docker```

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

  ```shellsudo docker run hello-world```

 2. 检查本地docker环境

检查系统版本

```shellcat /etc/os-release```

检查docker状态

```shellsystemctl status docker```

下载Docker Compose UI镜像

```shelldocker pull francescou/docker-compose-ui:1.13.0```

部署Docker Compose UI服务:

新建安装目录

```shellmkdir -p /data/compose-uicd /data/compose-ui/```

创建Docker Compose UI容器

```shelldocker 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容器的命令。

可以更直观的查看docker容器

击Action,可以对已有的镜像镜像移除操作。点击Pull,可以拉取镜像。点击镜像ID进去后可以添加或移除镜像tag

我们就成功在本地搭建了docker compose ui可视化工具,但是如果有时候我们需要异地来远程访问docker容器来执行启动、暂停、终止、删除等,这个时候我们就需要使用cpolar内网穿透工具,实现在公网上无需公网ip就可以直接访问docker。



 

3. 安装cpolar内网穿透

下面是安装cpolar步骤:

> cpolar官网地址: [https://www.cpolar.com](https://www.cpolar.com)

- 使用一键脚本安装命令


```shellcurl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash```

- 向系统添加服务

```shellsudo systemctl enable cpolar```

- 启动cpolar服务

```shellsudo systemctl start cpolar```

cpolar安装成功后,在外部浏览器上访问Linux 的9200端口即:【http://服务器的局域网ip:9200】,使用cpolar账号登录,登录后即可看到cpolar web 配置界面,结下来在web 管理界面配置即可。

接下来配置一下docker compose ui的公网地址,

登录后,点击左侧仪表盘的隧道管理——创建隧道,创建一个公网http地址隧道

- 隧道名称:可自定义命名,注意不要与已有的隧道名称重复

- 协议:选择http

- 本地地址:9000 (本地访问的地址)

- 域名类型:免费选择随机域名

- 地区:选择China Top

创建成功后,打开左侧在线隧道列表,查看刚刚创建隧道后生成两个公网地址,接下来就可以在其他电脑(异地)上,使用任意一个地址复制到浏览器访问即可。

可以看到,能够正常公网远程访问。

**小结**

为了方便演示,我们在上边的操作过程中使用了cpolar生成的http公网地址隧道,其公网地址是随机生成的。

这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址是随机生成,这个地址在24小时内会发生随机变化,更适合于临时使用。

如果有长期远程访问docker compose ui的需求,但又不想每天重新配置公网地址,还想地址好看又好记,那我推荐大家选择使用固定二级子域名地址的方式来远程访问。



 

4. 使用固定二级子域名地址远程访问

接下来保留一个固定http地址,登录[cpolar官网](https://www.cpolar.com/),点击左侧的预留,找到保留二级子域名,为远程服务器连接保留一个固定二级子域名地址:

- 地区:选择**China VIP**

- 描述:即备注,可自定义,本例使用

点击`保留`

地址保留成功后,复制生成的公网地址,打开cpolar web ui管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到我们刚才创建的随机公网地址隧道 **compose**,点击`编辑`

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

- 域名类型:选择二级子域名

- 预留的http地址:复制粘贴官网保留成功的地址,本例中为:compose

- 地区选择:China VIP

点击`更新`

隧道更新成功后,点击左侧仪表盘的状态——在线隧道列表,可以看到公网地址已经更新为了两个**固定二级子域名地址。**

接下来与之前的操作一样,可以在其他电脑(异地)上,使用任意一个固定二级子域名地址复制到浏览器访问即可。

如上图所示,即为配置成功。我们现在就能在公网使用cpolar内网穿透工具生成的永久不变的固定二级子域名,使用任意浏览器远程访问docker compose ui了,无需购买域名服务器,也不用设置路由器那么麻烦,轻松实现大家远程访问本地服务的需求!

**DockerComposeUI与cpolar的组合,重新定义了容器管理的协作模式。对于追求高效运维的团队而言,这种方案不仅简化了本地操作,更打破了物理空间的限制——让容器管理不再受制于办公环境,随时随地都能掌控服务状态。当技术工具变得如此灵活,团队的协作效率自然水到渠成。**

本篇文章知识点来源[cpolar官网][https://www.cpolar.com]

1.  cpolar博客:配置二级子域名: [https://www.cpolar.com/blog/configure-the-secondary-subdomain-name](https://www.cpolar.com/blog/configure-the-secondary-subdomain-name)

2.  cpolar博客:配置自定义域名: [https://www.cpolar.com/blog/configure-your-own-domain-name](https://www.cpolar.com/blog/configure-your-own-domain-name)

3.  cpolar博客:配置固定TCP端口地址: [https://www.cpolar.com/blog/configure-fixed-tcp-port-address](https://www.cpolar.com/blog/configure-fixed-tcp-port-address)

4.  cpolar博客:配置固定FTP地址: [https://www.cpolar.com/blog/configure-fixed-ftp-address](https://www.cpolar.com/blog/configure-fixed-ftp-address)

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

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

相关文章

H5 页面与 Web 页面的制作方法

1. H5 页面制作使用 HTML5、CSS3 和 JavaScript 技术:这些技术支持创建交互式和响应式 H5 页面。使用 H5 编辑器或框架:如 Adobe Dreamweaver、Brackets 或 Ionic,这些工具提供了预先构建的模板和组件,简化了开发过程。考虑移动设…

1.6、机器学习-决策树模型(金融实战)

决策树是一种基于特征分割的监督学习算法,通过递归分割数据空间来构建预测模型。 1.1、决策树模型基本原理 决策树思想的来源朴素,程序设计中的条件分支结构就是 if-then结构,最早的决策树就是利用这类结构分割数据的一种分类学习方法。为了更好理解决策树具体怎么分类的,…

常见中间件的同步算法、CAP 默认倾向及自定义支持情况

文章目录CAP 概念1、比较2、关键说明:CAP 概念 CAP 定理指分布式系统无法同时满足​​一致性(C​​onsistency)、​​可用性(​​A​​vailability)、​​分区容错性(​​P​​artition Tolerance&#xf…

Spring 中处理 HTTP 请求参数注解全解析

在 Spring 框架的 Web 开发中,处理 HTTP 请求参数是一项基础且重要的工作。除了 PathVariable、RequestParam 和 Valid RequestBody 外,还有一些其他注解也用于此目的。本文将对这些注解进行全面的区分和解析,帮助开发者在实际项目中更准确地…

【代码随想录算法训练营——Day11】栈与队列——150.逆波兰表达式求值、239.滑动窗口最大值、347.前K个高频元素

LeetCode题目链接 https://leetcode.cn/problems/evaluate-reverse-polish-notation/ https://leetcode.cn/problems/sliding-window-maximum/ https://leetcode.cn/problems/top-k-frequent-elements/ 题解 150.逆波兰表达式求值、 不能用tokens[i] > "0" &&…

Docker 容器化部署核心实战——镜像仓库管理与容器多参数运行详解

摘要: 在当今云原生技术迅速发展的背景下,Docker 已成为应用容器化的首选工具。本文作为“Docker 容器化部署核心实战:从镜像仓库管理、容器多参数运行到 Nginx 服务配置与正反向代理原理解析”系列的第一篇,将深入探讨 Docker 镜…

ESP8266无法连接Jio路由器分析

我查了一下关于这些 Jio 路由器型号(尤其是 JCOW414 和 JIDU6801)的公开资料,下面是我能拿到的内容 对比这些型号可能带来的问题,以及对你排障的补充建议。 路由器型号 & 公开已知特性 型号已知 / 可查特性和 ESP8266 的潜在…

传智播客--MySQL

DAY01 MySQL入门 第一章 数据库介绍 1.1 什么是数据库 数据存储的仓库,本质上是一个文件系统,作用:方便管理数据的。 1.2 数据库管理系统 数据库管理系统(DataBase Management System, DBMS):指一种操作和管…

[Dify] 实现“多知识库切换”功能的最佳实践

在构建知识驱动的问答系统或 AI 助手时,一个常见需求是:根据用户问题所属领域或上下文,切换使用不同的知识库(Knowledge Base, KB)进行检索。这样可以提升回答的准确性、减少无关内容干扰,在多业务线或多主题应用中尤其有用。 本文将介绍: 为什么要做知识库切换 Dify …

Jenkins运维之路(Jenkins流水线改造Day02-2-容器项目)

上篇文章中已经将绝大部分,Jenkins容器项目打包的相关功能改造完成了,这里在对构建部署后的告警类操作进行一些补充1.流水线告警1.1 安装钉钉插件image-202509151111086851.2 配置钉钉插件image-20250915111235865image-202509151115328291.3 Pipeline钉…

64_基于深度学习的蝴蝶种类检测识别系统(yolo11、yolov8、yolov5+UI界面+Python项目源码+模型+标注好的数据集)

目录 项目介绍🎯 功能展示🌟 一、环境安装🎆 环境配置说明📘 安装指南说明🎥 环境安装教学视频 🌟 二、数据集介绍🌟 三、系统环境(框架/依赖库)说明🧱 系统环…

N1ctf-2025-PWN-ez_heap近队容器的礼仪

ez_heap 保护全开 程序逻辑: 读入0x30的字符串,进行字符串校验:以冒号为标志split,分成四份。最后输入字符串形如: xor 0x111111111111111 validate badmin:p64(xor)b:Junior:111111创建0x180的chunk存放note 结构体…

纵深防御实践:东方隐侠CI/CD安全体系构建全解析

前言:CI/CD安全的必要性 企业上云是近些年的潮流,但是风险如影随形。之前有家电商平台出了个大岔子——半夜自动发新版本的时候,因为流程里没做安全检查,直接导致系统故障,一天就损失了300多万。这还不算完,某银行测试人员通过未授权的自动发布流程把代码推到了生产环境…

2025年渗透测试面试题总结-71(题目+回答)

安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 2. 渗透测试流程 & 内网渗透经验 3. SQL注入报错利用 4. XSS利用(反射型/DOM型&#xff0…

基于Echarts+HTML5可视化数据大屏展示-茶园大数据平台指挥舱

效果展示&#xff1a;代码结构&#xff1a;主要代码实现 index.html布局 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0&quo…

华为网路设备学习-33(BGP协议 八)BGP路由 选路规则

一、目标与背景BGP路由特性&#xff1a;支持丰富的路径属性选路规则多样注&#xff1a;在BGP路由表中最优选&#xff0c;不一定是路由表中的最优选。有可能存在静态路由或者ospf路由等&#xff0c;其优先级高于BGP路由。二、选路规则概述从1到12&#xff0c;依次对比优先级。一…

深度学习(七):梯度下降

梯度下降&#xff08;Gradient Descent&#xff09;是深度学习中最核心的优化方法之一&#xff0c;它通过迭代更新模型参数&#xff0c;使得损失函数达到最小值&#xff0c;从而训练出性能良好的神经网络模型。 基础原理 损失函数 在深度学习中&#xff0c;损失函数 L(θ) 是衡…

常见岩性分类与油气勘探意义笔记

常见岩性分类与油气勘探意义笔记 相关科普视频可查看【说说岩石的分类-哔哩哔哩】 一、岩石基本分类体系 根据成因&#xff0c;自然界岩石可分为三大类&#xff0c;其中沉积岩与油气勘探关系最为密切&#xff1a; 1. 火成岩&#xff08;岩浆岩&#xff09; 由岩浆冷却凝固…

【Kubernetes】Tomcat 启用 Prometheus 监控指标

之前出过一篇文章关于 “自定义监控指标实现业务 HPA 伸缩” &#xff0c;其中使用了 webapp 应用的指标数据&#xff08;JVM&#xff09;&#xff0c;接下来&#xff0c;这篇文章将介绍如何在通过 Tomcat 部署的 webapp 中启用 Metrics 指标&#xff0c;一起来看看吧&#xf…

JVM 三色标记算法详解!

目录1. 什么是三色标记算法&#xff1f;三种颜色及其含义&#xff1a;2. 基础三色标记算法流程 (非并发)3. 并发场景下的挑战&#xff1a;一致性问题3.1. 漏标 (Missing Live Object) - 最严重的问题3.2. 错标 (Floating Garbage) - 不那么严重的问题4. 屏障机制 (Barrier) - 解…