云原生之使用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

相关文章
|
4月前
|
应用服务中间件 网络安全 nginx
手把手教你使用 Docker 部署 Nginx 教程
本文详解Nginx核心功能与Docker部署优势,涵盖镜像拉取、容器化部署(快速、挂载、Compose)、HTTPS配置及常见问题处理,助力高效搭建稳定Web服务。
1831 4
|
4月前
|
应用服务中间件 Linux nginx
在虚拟机Docker环境下部署Nginx的步骤。
以上就是在Docker环境下部署Nginx的步骤。需要注意,Docker和Nginix都有很多高级用法和细节需要掌握,以上只是一个基础入门级别的教程。如果你想要更深入地学习和使用它们,请参考官方文档或者其他专业书籍。
211 5
|
4月前
|
存储 NoSQL Redis
手把手教你用 Docker 部署 Redis
Redis是高性能内存数据库,支持多种数据结构,适用于缓存、消息队列等场景。本文介绍如何通过Docker快速拉取轩辕镜像并部署Redis,涵盖快速启动、持久化存储及docker-compose配置,助力开发者高效搭建稳定服务。
1294 7
|
4月前
|
Java Linux 虚拟化
【Docker】(1)Docker的概述与架构,手把手带你安装Docker,云原生路上不可缺少的一门技术!
1. Docker简介 1.1 Docker是什么 为什么docker会出现? 假定您在开发一款平台项目,您的开发环境具有特定的配置。其他开发人员身处的环境配置也各有不同。 您正在开发的应用依赖于您当前的配置且还要依赖于某些配置文件。 您的企业还拥有标准化的测试和生产环境,且具有自身的配置和一系列支持文件。 **要求:**希望尽可能多在本地模拟这些环境而不产生重新创建服务器环境的开销 问题: 要如何确保应用能够在这些环境中运行和通过质量检测? 在部署过程中不出现令人头疼的版本、配置问题 无需重新编写代码和进行故障修复
437 2
|
4月前
|
存储 关系型数据库 MySQL
MySQL Docker 容器化部署全指南
MySQL是一款开源关系型数据库,广泛用于Web及企业应用。Docker容器化部署可解决环境不一致、依赖冲突问题,实现高效、隔离、轻量的MySQL服务运行,支持数据持久化与快速迁移,适用于开发、测试及生产环境。
753 4
|
数据可视化 物联网 Docker
使用Portainer或者UI for Docker可视化管理你的树莓派容器
本文讲的是使用Portainer或者UI for Docker可视化管理你的树莓派容器【编者的话】Stefan Scherer是Docker海盗船长,微软MVP。专注于Docker技术在ARM体系中应用。
4539 0