Docker Compose UI:让容器管理告别命令行,小白也能轻松上手

Docker Compose UI 是一款将 Docker Compose 命令行操作转化为图形界面的工具,能实现服务启动 / 停止、实时日志查看、配置动态调整等功能。它特别适合刚接触容器技术的新手,无需死记硬背复杂指令;对团队而言,直观的界面也能降低协作门槛。其最大优点是把抽象的命令转化为拖拽、点击的可视化操作,大幅降低了容器管理的技术门槛。

使用 Docker Compose UI 时,能明显感受到效率提升 —— 比如之前改个端口映射要手动编辑 YAML 文件,现在拖拽调整就行。不过需要注意,首次部署时要确保 Docker 服务正常运行,否则 UI 可能无法连接到容器;另外,界面上的操作会实时同步到容器,修改配置前最好先备份,避免误操作影响服务。

但这款工具默认只能在局域网内使用,这带来不少麻烦。比如下班在家时,服务器上的容器出了问题,得远程联系同事帮忙处理;或者出差时想临时调整服务配置,却因为不在内网而束手无策,严重影响工作灵活性。

而当 Docker Compose UI 与 cpolar 结合后,这些问题迎刃而解。cpolar 能将局域网内的服务映射到公网,意味着无论在办公室、家里还是咖啡厅,只要有网络,就能通过浏览器访问 Docker Compose UI。远程查看容器状态、重启服务变得和在本地操作一样简单,彻底打破了局域网的限制,让容器管理更自由。

本篇文章将dockercompose结合cpolar内网穿透软件实现公网访问docker compose web可视化界面,更直观的进行远程编写。

1. 安装Docker

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

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

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

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

    $sudoyuminstall-y yum-utils $sudoyum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

    安装Docker引擎

    sudoyuminstalldocker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

    启动Docker

    sudo systemctl start docker

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

    sudodockerrun hello-world

2. 检查本地docker环境

检查系统版本

cat/etc/os-release

检查docker状态

systemctl statusdocker

下载Docker Compose UI镜像

dockerpull francescou/docker-compose-ui:1.13.0

部署Docker Compose UI服务:

新建安装目录

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

创建Docker Compose UI容器

dockerrun -it -d --name docker-web -p9000: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

  • 使用一键脚本安装命令
curl-L https://www.cpolar.com/static/downloads/install-release-cpolar.sh|sudobash
  • 向系统添加服务
sudosystemctlenablecpolar
  • 启动cpolar服务
sudosystemctl 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官网,点击左侧的预留,找到保留二级子域名,为远程服务器连接保留一个固定二级子域名地址:

  • 地区:选择China VIP
  • 描述:即备注,可自定义,本例使用

点击保留

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

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

  • 域名类型:选择二级子域名
  • 预留的http地址:复制粘贴官网保留成功的地址,本例中为:compose
  • 地区选择:China VIP

点击更新

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

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

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

通过 Docker Compose UI 的可视化操作简化容器管理,再借助 cpolar 突破网络限制,无论是新手入门还是团队协作,都能更高效、灵活地应对容器运维需求,让技术工具真正服务于工作本身。

本篇文章知识点来源[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.mzph.cn/news/1125186.shtml

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

相关文章

最近在折腾一个高性能C#服务端轮子,目标是搞个能同时扛住各种网络协议的瑞士军刀。咱这轮子就得自己撸底层,从Socket开始造轮子。先上个核心架构图镇楼

c#高性能服务器源代码,其中包括mvc api服务,http服务,ftp服务,sokect服务,websocket服务,大文件传输服务。 这些服务均抛开iis及第三支持,可写成服务或随软件启动而启动。public class ServerHo…

pkill -15 monkey命令及信号15解释

pkill -15 monkey 这个命令的作用是: 命令功能 向所有名为 “monkey” 的进程发送信号 15(SIGTERM),请求它们正常终止。 信号 15 的含义 15 是信号编号,对应 SIGTERM(Termination Signal)这是 &…

OSPF邻居建立失败完整排查指南

阿祥综合多年经验今天整理了下,OSPF邻居建立失败的核心排查点、补充要点及实操技巧,覆盖物理层、链路层、协议层及安全配置,按优先级排序,方便运维人员高效定位问题。 一、基础排查(物理层链路层安全设备专属&#xff…

2025年12月 GESP CCF编程能力等级认证Python三级真题

答案和更多内容请查看网站:【试卷中心 -----> CCF GESP ----> Python ----> 三级】 网站链接 青少年软件编程历年真题模拟题实时更新 2025年12月 GESP CCF编程能力等级认证Python3级真题 1 单选题(每题 2 分,共 30 分&#xf…

大数据数据工程中的存储格式选择:Parquet vs ORC

大数据存储格式深度对比:Parquet与ORC的技术选型指南 元数据框架 标题:大数据存储格式深度对比:Parquet与ORC的技术选型指南关键词:大数据存储、列存格式、Parquet、ORC、性能优化、Schema演化、数据工程摘要:本文从第…

2025年12月 GESP CCF编程能力等级认证Python二级真题

答案和更多内容请查看网站:【试卷中心 -----> CCF GESP ----> Python ----> 二级】 网站链接 青少年软件编程历年真题模拟题实时更新 2025年12月 GESP CCF编程能力等级认证Python2级真题 一、 单选题(每题 2 分,共 30 分&…

conda虚拟环境备份与安装

1、备旧环境配置到新环境 # 激活进入环境 conda activate my_env # 导出当前环境配置信息 conda env export > my_env_environment.yml # 导出依赖包 conda list --explicit > my_env_packages.txt # 创建新的虚拟环境 conda create --name my_new_env # 激活进入 conda …

全网最全9个一键生成论文工具,专科生毕业论文轻松搞定!

全网最全9个一键生成论文工具,专科生毕业论文轻松搞定! 论文写作的救星:AI 工具如何改变专科生的学术之路 在当今这个信息爆炸的时代,论文写作已成为专科生毕业过程中不可回避的一环。面对繁重的写作任务、复杂的格式要求以及严格…

Qt学习记录

1.打印2.LABEL3信号槽(Signal & Slot)(信号回调函数)4.自定义信号槽:5.不用UI6.对象树7.添加资源:8.样式表QSS

java: 找不到符号,零基础入门到精通,收藏这篇就够了

文章目录 一、报错如图二、自己当前项目背景描述:三、排错方案举例 方案1:考虑Project Structure设置中Project中jdk版本是否对,确保所有子模块改为jdk1.8就好了方案2:考虑设置中java编码方式中各个子模块版本是否为1.8&#xff…

一文看懂Java内存模型(JMM)收藏这篇就够了

文章目录 Java内存模型介绍 总览图 Java内存模型图线程、主内存、工作内存关系图CPU缓存架构图Java内存模型与硬件内存架构的关系 什么是Java内存模型Java内存模型的意义Java内存模型规范 Java内存模型的主要结构 1、程序计数器(Program Counter Register&#xff0…

【免费开源文本编辑器】轻量级文本编辑器——Notepad++ 下载安装教程

需求背景: 在数字时代的编程开发和文本处理工作中,一款功能强大且高效的文本编辑器至关重要。虽然Windows系统自带的记事本能满足基本需求,但在专业场景下显得力不从心。今天为您推荐 Notepad —— Windows平台最受欢迎的免费开源文本编辑器…

LeetCode 468 验证 IP 地址

文章目录摘要描述IPv4 的规则可以总结成一句话IPv6 的规则则是题解答案题解代码分析IPv4 校验逻辑拆解IPv6 校验逻辑拆解示例测试及结果示例 1示例 2示例 3时间复杂度空间复杂度总结摘要 《验证 IP 地址》是一道非常工程化的题。 它不像很多算法题那样考复杂技巧,…

状态管理:Flutter 为什么走上了和前端一样的“百家争鸣”?

网罗开发 (小红书、快手、视频号同名) 大家好,我是 展菲,目前在上市企业从事人工智能项目研发管理工作,平时热衷于分享各种编程领域的软硬技能知识以及前沿技术,包括iOS、前端、Harmony OS、Java、Python等…

DeepSeek对于DuckDB on LoongArch一文的总结

原文地址 https://duckdb.org/2026/01/06/duckdb-on-loongarch-morefine用中文总结附件这是一篇由 Hannes Mhleisen 于2026年1月6日撰写的技术博客,主要内容为在基于龙芯架构(LoongArch)的龙芯CPU设备(MOREFINE M700S)…

学长亲荐2026自考AI论文工具TOP10:选对工具轻松过关

学长亲荐2026自考AI论文工具TOP10:选对工具轻松过关 2026年自考AI论文工具测评:选对工具,事半功倍 随着人工智能技术的不断进步,越来越多的自考生开始借助AI写作工具提升论文写作效率。然而,面对市场上琳琅满目的工具&…

Springboot品牌购物官网rmu1i本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。

系统程序文件列表项目功能:开题报告内容进度安排:1、XXXX年X月X日-XXXX年X月XX日:完成前期资料的搜集与整理,撰写开题报告以及开题PPT。2、XXXX年X月X日-XXXX年X月XX日:设计完成系统的总体框架。3、XXXX年X月X日-XXXX年…

一文看懂 NVIDIA 平台全栈:从 CUDA 到 Jetson / DRIVE / Isaac 的当下走向

📺 B站视频讲解(Bilibili):https://www.bilibili.com/video/BV1k1C9BYEAB/ 📘 《Yocto项目实战教程》京东购买链接:Yocto项目实战教程 一文看懂 NVIDIA 平台全栈:从 CUDA 到 Jetson / DRIVE / …

群体智能 AI Agent:多个 LLM 协作的分布式系统

群体智能 AI Agent:多个 LLM 协作的分布式系统 关键词:群体智能、AI Agent、大型语言模型(LLM)、分布式系统、多 LLM 协作 摘要:本文围绕群体智能 AI Agent 这一多个 LLM 协作的分布式系统展开深入探讨。首先介绍了该系统提出的背景、目的、适用读者及文档结构等信息。接着…

nums.sort()和nums.sort((a, b) => a - b)

这两者有重要区别: nums.sort() 默认按字符串排序(字典序),即使数组里是数字也会被转换为字符串再比较: let nums [100, 4, 200, 1, 3, 2]; nums.sort(); // [1, 100, 2, 200, 3, 4] console.log(nums); // 错误的顺序…