云原生之使用Docker部署docker-compose-ui工具

简介: 云原生之使用Docker部署docker-compose-ui工具

一、Docker Compose UI介绍

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

二、检查本地docker环境

1.检查系统版本

[root@node ~]# cat /etc/os-release 
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

2.检查docker状态

[root@node ~]# systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2022-10-31 03:28:51 CST; 1 day 20h ago
     Docs: https://docs.docker.com
 Main PID: 11884 (dockerd)
    Tasks: 44
   Memory: 2.8G
   CGroup: /system.slice/docker.service
           ├─ 11884 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
           ├─ 34936 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 8080 -container-ip 172.27.0.3 -container-port 80
           ├─ 34950 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 8080 -container-ip 172.27.0.3 -container-port 80
           ├─114721 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 9000 -container-ip 172.17.0.2 -container-port 9000
           └─114726 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 9000 -container-ip 172.17.0.2 -container-port 9000

Nov 01 21:17:48 node dockerd[11884]: time="2022-11-01T21:17:48.427273067+08:00" level=warning msg="Health check for container b5103772dd...xceeded"
Nov 01 21:21:48 node dockerd[11884]: time="2022-11-01T21:21:48.529083655+08:00" level=info msg="Download failed, retrying (4/5): read tc...med out"
Nov 01 21:21:49 node dockerd[11884]: time="2022-11-01T21:21:49.296992135+08:00" level=error msg="Download failed after 6 attempts: read ...med out"
Nov 01 21:21:49 node dockerd[11884]: time="2022-11-01T21:21:49.425397176+08:00" level=info msg="Download failed, retrying (5/5): read tc...med out"
Nov 01 21:22:21 node dockerd[11884]: time="2022-11-01T21:22:21.029219138+08:00" level=info msg="Download failed, retrying (5/5): Get \"https://p...
Nov 01 21:37:54 node dockerd[11884]: time="2022-11-01T21:37:54.734620680+08:00" level=error msg="Not continuing with pull after error: c...anceled"
Nov 01 21:37:54 node dockerd[11884]: time="2022-11-01T21:37:54.794229257+08:00" level=info msg="Layer sha256:a852daa2e2446c73035f696e296...aned up"
Nov 01 21:37:54 node dockerd[11884]: time="2022-11-01T21:37:54.794928818+08:00" level=info msg="Layer sha256:7c34f968f461da4902fc8d2701a...aned up"
Nov 01 21:37:54 node dockerd[11884]: time="2022-11-01T21:37:54.877304029+08:00" level=info msg="Layer sha256:cc75e066235799f16c60bcbb60f...aned up"
Nov 01 21:37:54 node dockerd[11884]: time="2022-11-01T21:37:54.887066340+08:00" level=info msg="Layer sha256:26313e93e01f00837688ac6674e...aned up"
Hint: Some lines were ellipsized, use -l to show in full.


三、下载Docker Compose UI镜像

[root@node ~]# docker pull francescou/docker-compose-ui:1.13.0
1.13.0: Pulling from francescou/docker-compose-ui
81033e7c1d6a: Pull complete 
f7b44c57b95f: Pull complete 
e7d127e5acc6: Pull complete 
100078176fbd: Pull complete 
a7af2069f244: Pull complete 
df34fa004e36: Pull complete 
3afbb4cd8f6c: Pull complete 
c330a147c107: Pull complete 
d13383bf9258: Pull complete 
b5ecad9aaf9f: Pull complete 
Digest: sha256:280598d201e4cb1215ec3c4ca043fddb377a5e2d4729e2c9ab23b34be510e5b6
Status: Downloaded newer image for francescou/docker-compose-ui:1.13.0
docker.io/francescou/docker-compose-ui:1.13.0

四、创建Docker Compose UI镜像

1.创建安装目录

[root@node ~]# mkdir -p /data/compose-ui
[root@node ~]# cd /data/compose-ui/

2.创建Docker Compose UI容器

[root@node compose-ui]# docker run -d --restart always --name docker-compose-ui -p 5000:5000 -w /opt/docker-compose-projects/ -v /var/run/docker.sock:/var/run/docker.sock francescou/docker-compose-ui:1.13.0
df6c0a3d1190d6743ff0b0b8ce1f40c21aa7d38f5a606a7aedc7286161b81627

3.检查容器状态

[root@node compose-ui]# docker ps
CONTAINER ID   IMAGE                                 COMMAND                  CREATED         STATUS                  PORTS                                             NAMES
df6c0a3d1190   francescou/docker-compose-ui:1.13.0   "/env/bin/python /ap…"   2 minutes ago   Up About a minute       0.0.0.0:5000->5000/tcp, :::5000->5000/tcp         docker-compose-ui

4.查看容器日志

[root@node compose-ui]# docker logs docker-compose-ui 
INFO:root:docker-compose version 1.20.1, build 5d8c71b
docker-py version: 3.3.0
CPython version: 2.7.15
OpenSSL version: OpenSSL 1.0.2n  7 Dec 2017
INFO:root:{'node-redis': '/opt/docker-compose-projects/./node-redis', 'volumes-relative-paths': '/opt/docker-compose-projects/./volumes-relative-paths', 'env-demo': '/opt/docker-compose-projects/./env-demo', 'volumes-demo': '/opt/docker-compose-projects/./volumes-demo', 'hello-node': '/opt/docker-compose-projects/./hello-node'}
INFO:werkzeug: * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)

五、访问Docker Compose UI首页

image.png

六、Docker Compose UI基本使用

1.编写docker-compose.yaml文件

image.png

2.运行docker-compose.yaml文件

image.png

3.查看运行日志

image.png

七、在宿主机查看容器运行状态

[root@node compose-ui]# docker ps -a
CONTAINER ID   IMAGE                                  COMMAND                  CREATED          STATUS                    PORTS                                             NAMES
5a86a960f2e4   ghcr.io/linuxserver/dillinger:latest   "/init"                  19 seconds ago   Up 16 seconds             0.0.0.0:8015->8080/tcp, :::8015->8080/tcp         dillinger

相关文章
|
应用服务中间件 网络安全 nginx
手把手教你使用 Docker 部署 Nginx 教程
本文详解Nginx核心功能与Docker部署优势,涵盖镜像拉取、容器化部署(快速、挂载、Compose)、HTTPS配置及常见问题处理,助力高效搭建稳定Web服务。
4680 4
|
应用服务中间件 Linux nginx
在虚拟机Docker环境下部署Nginx的步骤。
以上就是在Docker环境下部署Nginx的步骤。需要注意,Docker和Nginix都有很多高级用法和细节需要掌握,以上只是一个基础入门级别的教程。如果你想要更深入地学习和使用它们,请参考官方文档或者其他专业书籍。
571 5
|
存储 NoSQL Redis
手把手教你用 Docker 部署 Redis
Redis是高性能内存数据库,支持多种数据结构,适用于缓存、消息队列等场景。本文介绍如何通过Docker快速拉取轩辕镜像并部署Redis,涵盖快速启动、持久化存储及docker-compose配置,助力开发者高效搭建稳定服务。
3208 8
|
存储 关系型数据库 MySQL
MySQL Docker 容器化部署全指南
MySQL是一款开源关系型数据库,广泛用于Web及企业应用。Docker容器化部署可解决环境不一致、依赖冲突问题,实现高效、隔离、轻量的MySQL服务运行,支持数据持久化与快速迁移,适用于开发、测试及生产环境。
1538 4
|
开发框架 前端开发 JavaScript
【HarmonyOS Next之旅】基于ArkTS开发(二) -> UI开发一
本文介绍了方舟开发框架(ArkUI)及其两种开发范式:基于ArkTS的声明式开发范式和类Web开发范式。ArkUI是用于构建HarmonyOS应用界面的UI框架,提供极简UI语法和基础设施。声明式开发范式使用ArkTS语言,以组件、动画和状态管理为核心,适合复杂团队协作;类Web开发范式采用HML、CSS、JavaScript三段式开发,适用于简单界面应用,贴近Web开发者习惯。文中还概述了两者的架构和基础能力,帮助开发者选择合适的范式进行高效开发。
579 15
|
编解码 前端开发 Java
【HarmonyOS Next之旅】基于ArkTS开发(二) -> UI开发三
本文介绍了基于声明式UI范式的图形绘制与动画效果实现方法,涵盖绘制图形、添加动画效果及常见组件说明三部分内容。在绘制图形部分,详细讲解了如何通过Circle组件为食物成分表添加圆形标签,以及使用Path组件结合SVG命令绘制自定义图形(如应用Logo)。动画效果部分则展示了如何利用animateTo实现闪屏动画,包括渐出、放大效果,并设置页面跳转;同时介绍了页面间共享元素转场动画的实现方式。最后,文章列举了声明式开发范式中的各类组件及其功能,帮助开发者快速上手构建复杂交互页面。
565 11
|
存储 开发者 容器
鸿蒙 HarmonyOS NEXT星河版APP应用开发-ArkTS面向对象及组件化UI开发使用实例
本文介绍了ArkTS语言中的Class类、泛型、接口、模块化、自定义组件及状态管理等核心概念,并结合代码示例讲解了对象属性、构造方法、继承、静态成员、访问修饰符等内容,同时涵盖了路由管理、生命周期和Stage模型等应用开发关键知识点。
922 1
鸿蒙 HarmonyOS NEXT星河版APP应用开发-ArkTS面向对象及组件化UI开发使用实例
|
前端开发 安全 开发工具
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
1342 90
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
JavaScript 前端开发 UED
【HarmonyOS Next之旅】基于ArkTS开发(二) -> UI开发四
本文介绍了Web组件开发与性能优化的相关内容。在Web组件开发部分,涵盖创建组件、设置样式与属性、添加事件和方法以及场景示例,如动态播放视频。性能提升方面,推荐使用数据懒加载、条件渲染替代显隐控制、Column/Row替代Flex、设置List组件宽高及调整cachedCount减少滑动白块等方法,以优化应用性能与用户体验。
456 56