💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
img

  • 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老
  • 导航
    • 檀越剑指大厂系列:全面总结 java 核心技术点,如集合,jvm,并发编程 redis,kafka,Spring,微服务,Netty 等
    • 常用开发工具系列:罗列常用的开发工具,如 IDEA,Mac,Alfred,electerm,Git,typora,apifox 等
    • 数据库系列:详细总结了常用数据库 mysql 技术点,以及工作中遇到的 mysql 问题等
    • 懒人运维系列:总结好用的命令,解放双手不香吗?能用一个命令完成绝不用两个操作
    • 数据结构与算法系列:总结数据结构和算法,不同类型针对性训练,提升编程思维,剑指大厂

非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨


Docker Compose UI 是 Docker Compose 的 web 界面。这个项目的目标是在 Docker Compose 之上提供一个最小的 HTTP API,同时保持与 Docker Compose CLI 的完全互操作性。

本篇文章将 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-ui
 cd /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 了,无需购买域名服务器,也不用设置路由器那么麻烦,轻松实现大家远程访问本地服务的需求!

觉得有用的话点个赞 👍🏻 呗。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

img

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐