基于 Docker Compose UI 与内网穿透实现远程可视化运维
1. 安装 Docker
本文演示环境:CentOS7,Xshell7 远程 ssh。
如未安装 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
[图片]
检查 Docker 状态
systemctl status docker
[图片]
下载 Docker Compose UI 镜像
docker pull francescou/docker-compose-ui:1.13.0
[图片]
部署 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 界面。启动后,可执行启动、暂停、终止、删除等操作。
[图片]
可以更直观地查看 Docker 容器。
[图片]
点击 Action,可对已有镜像移除操作。点击 Pull,可以拉取镜像。点击镜像 ID 进去后可以添加或移除镜像 tag。
[图片]
若需要异地远程访问 Docker 容器,需使用内网穿透工具。
3. 安装内网穿透工具
使用一键脚本安装命令
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
向系统添加服务
sudo systemctl enable cpolar
启动服务
sudo systemctl start cpolar
安装成功后,在外部浏览器上访问 Linux 的 9200 端口(http://服务器的局域网 ip:9200),使用账号登录 Web 配置界面。
[图片]
接下来配置 Docker Compose UI 的公网地址:
登录后,点击左侧仪表盘的隧道管理——创建隧道,创建一个公网 HTTP 地址隧道。
- 隧道名称:自定义命名
- 协议:选择 http
- 本地地址:9000 (本地访问的地址)
- 域名类型:免费选择随机域名
- 地区:选择 China Top
[图片]
创建成功后,打开在线隧道列表,查看生成的两个公网地址,在其他电脑(异地)上使用任意一个地址复制到浏览器访问即可。
[图片]
可以看到,能够正常公网远程访问。
[图片]
小结
上述操作使用了随机生成的 HTTP 公网地址隧道,优势在于建立速度快,但地址在 24 小时内可能变化,适合临时使用。
若有长期远程访问需求,推荐使用固定二级子域名地址。
4. 使用固定二级子域名地址远程访问
保留一个固定 HTTP 地址,点击预留,找到保留二级子域名,为远程服务器连接保留一个固定二级子域名地址:
- 地区:选择 China VIP
- 描述:自定义备注
点击 保留。
[图片]
地址保留成功后,复制生成的公网地址,打开 Web UI 管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到刚才创建的随机公网地址隧道,点击 编辑。
[图片]
修改隧道信息,将保留成功的固定 HTTP 地址配置到隧道中:
- 域名类型:选择二级子域名
- 预留的 HTTP 地址:复制粘贴官网保留成功的地址
- 地区选择:China VIP
点击 更新。
[图片]
隧道更新成功后,点击左侧仪表盘的状态——在线隧道列表,可以看到公网地址已更新为两个固定二级子域名地址。
[图片]
接下来与其他电脑(异地)上,使用任意一个固定二级子域名地址复制到浏览器访问即可。
[图片]
配置成功后,即可在公网使用内网穿透工具生成的永久不变的固定二级子域名,使用任意浏览器远程访问 Docker Compose UI,无需购买域名服务器,也不用设置路由器。

