摆脱命令行!Docker Compose UI + 内网穿透,随时随地管理容器

Docker Compose UI 核心功能是将 Docker Compose 的命令行操作转化为可视化的图形界面,支持 Windows、macOS、Linux 系统通过网页浏览器访问,能实现服务启动 / 停止、实时日志查看、配置动态调整等操作,适配刚接触容器化的新手以及需要协作的团队,优点在于降低了容器管理的学习门槛,无需记忆复杂指令,操作直观高效。

实际使用中发现,Docker Compose UI 虽然简化了操作,但首次部署时需确保本地 Docker 环境正常运行,比如 CentOS 系统下要检查 Docker 服务状态,否则可能出现界面无法加载的情况;另外,界面操作虽便捷,但对于复杂的容器配置,仍需结合基础的 Docker 知识,避免误操作导致服务异常。

仅在局域网内使用 Docker Compose UI 存在诸多不便,比如出差在外想临时调整容器配置,或居家办公时需要查看公司服务器上的容器日志,都因局域网限制无法操作,只能等回到内网环境,耽误工作进度,尤其对于跨地域协作的团队,这种限制会大幅降低工作效率。

而将 Docker Compose UI 与 cpolar 内网穿透结合后,能突破局域网的束缚,只需简单配置 cpolar 生成公网访问链接,无论在咖啡厅、异地出差还是居家场景,都能通过浏览器远程访问 Docker Compose UI,随时管理容器服务,既保留了可视化操作的便捷性,又解决了地域访问限制的问题。

高手秘籍已经准备就绪,赶快去加buff吧!

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

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引擎

    shell 复制代码
    sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

    启动Docker

    复制代码
    sudo systemctl start docker

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

    shell 复制代码
    sudo docker run hello-world

2. 检查本地docker环境

检查系统版本

shell 复制代码
cat /etc/os-release 

检查docker状态

shell 复制代码
systemctl status docker

下载Docker Compose UI镜像

shell 复制代码
docker pull francescou/docker-compose-ui:1.13.0

部署Docker Compose UI服务:

新建安装目录

shell 复制代码
 mkdir -p /data/compose-ui
 cd /data/compose-ui/

创建Docker Compose UI容器

shell 复制代码
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容器的命令。

可以更直观的查看docker容器

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

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

3. 安装cpolar内网穿透

下面是安装cpolar步骤:

cpolar官网地址: https://www.cpolar.com

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

  • 地区:选择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
相关推荐
UI设计兰亭妙微5 小时前
兰亭妙微|B端表单设计:UI设计公司中的场景化布局指南,提升用户填写效率
ui·b端界面设计·高端网站设计
万里侯7 小时前
GitOps实战:用Git管理基础设施
微服务·容器·k8s
STDD9 小时前
cert-manager:Kubernetes 自动 TLS 证书管理
云原生·容器·kubernetes
卧室小白12 小时前
docker容器
运维·docker·容器
颯沓如流星12 小时前
前端 UI 组件专业术语科普指南
前端·ui
Benszen12 小时前
Docker容器化解决方案
运维·docker·容器
仙柒41514 小时前
Namespace
运维·docker·容器
nan madol14 小时前
openEuler部署 Kubernetes v1.35.5 集群
云原生·容器·kubernetes
木雷坞14 小时前
K8s containerd 镜像源配置:用 1ms-helper 处理 ImagePullBackOff
云原生·容器·kubernetes
pigs201815 小时前
Docker容器中Kingbase数据库授权到期更换解决方案
数据库·docker·容器