docker compose ui是docker compose的web界面。这个项目的目标是在docker compose之上提供一个最小的http api,同时保持与docker compose cli的完全互操作性。
本文将介绍如何结合cpolar内网穿透软件实现公网访问Docker Compose的web可视化界面,从而更直观地进行远程编写。
如果您尚未安装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
- 检查本地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 UI容器后,您可以使用它来执行启动、暂停、终止、删除等Docker容器的命令。
您可以更直观地查看Docker容器。
点击Action,可以对已有的镜像进行移除操作。点击Pull,可以拉取镜像。点击镜像ID进入后,可以添加或移除镜像tag。
至此,我们已成功在本地搭建了Docker Compose UI可视化工具。然而,如果有时需要异地远程访问Docker容器来执行启动、暂停、终止、删除等操作,我们需要使用cpolar内网穿透工具,以便在公网上无需公网IP即可直接访问Docker。
- 安装cpolar内网穿透 以下是安装cpolar的步骤:
使用一键脚本安装命令:
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端口,即:【https://www.php.cn/link/8f91e3c119da5993c7ff3bbdd6fb1f32 web配置界面,接下来在web管理界面进行配置。
接下来配置Docker Compose UI的公网地址:
登录后,点击左侧仪表盘的隧道管理——创建隧道,创建一个公网HTTP地址隧道。
- 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
- 协议:选择HTTP
- 本地地址:9000(本地访问的地址)
- 域名类型:免费选择随机域名
- 地区:选择China Top
创建成功后,打开左侧在线隧道列表,查看刚刚创建的隧道后生成的两个公网地址。接下来可以在其他电脑(异地)上,使用任意一个地址复制到浏览器访问即可。
可以看到,能够正常进行公网远程访问。
小结
为了方便演示,我们在上边的操作过程中使用了cpolar生成的HTTP公网地址隧道,其公网地址是随机生成的。
这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址是随机生成,这个地址在24小时内会发生随机变化,更适合于临时使用。
如果有长期远程访问Docker Compose UI的需求,但又不想每天重新配置公网地址,还想地址好看又好记,那我推荐大家选择使用固定二级子域名地址的方式来远程访问。
- 使用固定二级子域名地址远程访问 接下来保留一个固定HTTP地址,登录cpolar官网,点击左侧的预留,找到保留二级子域名,为远程服务器连接保留一个固定二级子域名地址:
- 地区:选择China VIP
- 描述:即备注,可自定义,本例使用点击保留
地址保留成功后,复制生成的公网地址,打开cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到我们刚才创建的随机公网地址隧道compose,点击编辑。
修改隧道信息,将刚才保留成功的固定HTTP地址:compose配置到隧道中。
- 域名类型:选择二级子域名
- 预留的HTTP地址:复制粘贴官网保留成功的地址,本例中为:compose
- 地区选择:China VIP
- 点击更新
隧道更新成功后,点击左侧仪表盘的状态——在线隧道列表,可以看到公网地址已经更新为了两个固定二级子域名地址。
接下来与之前的操作一样,可以在其他电脑(异地)上,使用任意一个固定二级子域名地址复制到浏览器访问即可。
如上图所示,即为配置成功。我们现在就能在公网使用cpolar内网穿透工具生成的永久不变的固定二级子域名,使用任意浏览器远程访问Docker Compose UI了,无需购买域名服务器,也不用设置路由器那么麻烦,轻松实现大家远程访问本地服务的需求!