12. Docker可视化工具

news2024/9/21 12:36:40

目录

1、前言

2、Docker UI

2.1、部署Docker UI

2.2、管理容器

3、Portainer

3.1、部署Portainer

3.2、管理容器

3.3、添加远程Docker

4、Shipyard


1、前言

Docker 提供了命令行工具来管理 Docker 的镜像和运行 Docker 的容器。我们也可以使用图形工具来管理 Docker。目前,主流的 Docker 图形工具有 Docker Ul、Portainer 和 Shipyard。

2、Docker UI

Docker UI是一款最简单的,单机环境中的管理Docker的图形工具,适合初学者和小型Docker管理。

优点:

  • 支持容器管理
  • 稳定性高
  • 可动态显示容器间的关系图

缺点:

  • 管理页面无账户体系,缺乏安全性
  • 对于容器的管理缺乏权限控制,任何人都可以对容器进行一些敏感操作
  • 不支持多主机和Swarm集群

2.1、部署Docker UI

安装部署Docker UI工具需要先从镜像仓库中拉取:

docker pull uifd/ui-for-docker

然后启动即可:

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.sock挂载出来,因为它是Docker守护进程默认监听的UNIX域套接字文件。容器中的进程可以通过它与Docker守护进程进行通信。

2.2、管理容器

从Docker UI主界面中,我们看到导航菜单可以对容器,容器的网络模式,镜像,以及挂载卷进行管理。

点击进入Containers中:

可以看到我们部署的所有容器,选择一个容器进去,如xxl-job:

可以看到里面已经配置的基础容器信息,包括挂载目录,端口映射等。同时提供了删除容器,关闭容器,重启容器等可视化操作。

3、Portainer

Portainer 是一个轻量级的图形工具。使用 Portainer 可以轻松管理不同的 Docker环境。Portainer 的部署和使用都非常简单,它由一个可以运行在任何 Docker 引擎上的容器组成。Portainer 可以管理 Docker 的镜像、容器、数据卷和网络等。

优点:

  • 既可以管理单机环境,也可以管理Swarm集群
  • 提供了用户的登录界面
  • 可以为用户分配某个容器

缺点:

暂未发现

3.1、部署Portainer

从镜像仓库中拉取Portainer:

docker pull portainer/portainer

创建数据卷:

docker volume create portainer_db

启动Portainer:

docker run -d --name docker-web -p 9000:9000 \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v portainer_db:/data \
    portainer/portainer

访问IP:9000进入Portainer页面:

3.2、管理容器

输入密码确认后进入页面。

点击Containers,依然可以看到我们启动的几个容器。点击容器详情,也可以查看我们的容器基础信息,同时也可以进行容器管理操作。

点击容器如xxl-job详情:

还可以创建新用户,并给容器指定用户权限。在容器详情中:

3.3、添加远程Docker

点击左侧Environments,进入环境管理页面,点击Add environment。

由于我们使用的是单机版的Docker,所以选择第一个,点击Start Wizard。

在远程主机上运行上面的docker agent命令,启动后。下方的Environment address输入远程主机IP:9001端口,点击Connect。成功连接上去后,在Home下就多了一个Docker管理项:

接着选择我们要的Docker环境就可以进行远程管理了。这样的话,无需每台主机都安装Portainer,只需要一台服务器安装后,就可以管理多台远程主机。

4、Shipyard

Shipyard 是一个集成管理 Docker 镜像、容器和镜像仓库的系统,支持跨多个主机的 Dock容器的集群。

Shipyard 提供的主要功能包括:

  • 镜像管理、容器管理、节点管理等
  • 节点的动态扩展
  • 容器监控的可视化管理
  • 在线的命令行终端

Shipyard目前使用比较小众,这里就不过多介绍。现在我这边的容器管理,基本使用的是Portainer,基本满足我们日常开发和运维所需。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/902361.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

机器人远程控制软件设计

机器人远程控制软件设计 That’s all.

ECA模块的提出过程

接上文 作者首先肯定了通道注意力机制(在 S E N e t SENet SENet当中提出来的)的作用,对于没有参数的 S E − V A R 1 SE-VAR1 SE−VAR1模型,其效果仍然超过没有通道注意力机制的网络,可见注意力机制是有用的。 但是作…

CMC、mAP解析:图像检索领域评价指标

1. CMC: Cumulative Matching Characteristics 累计匹配特征 CMC是一种计算 top-n 的评价指标,主要用来评估闭集中rank-n的正确率。 下面举例说明: 在双模态特征匹配中。底库 Gallery 中有10条数据(label分别为1,2&am…

回归预测 | MATLAB实现TSO-SVM金枪鱼群算法优化支持向量机多输入单输出回归预测(多指标,多图)

回归预测 | MATLAB实现TSO-SVM金枪鱼群算法优化支持向量机多输入单输出回归预测(多指标,多图) 目录 回归预测 | MATLAB实现TSO-SVM金枪鱼群算法优化支持向量机多输入单输出回归预测(多指标,多图)效果一览基…

深度优先遍历与连通分量(Java 实例代码源码包下载)

目录 深度优先遍历与连通分量 Java 实例代码 src/runoob/graph/Components.java 文件代码: 深度优先遍历与连通分量 深度优先遍历(Depth First Search)的主要思想是首先以一个未被访问过的顶点作为起始顶点,沿当前顶点的边走到未访问过的顶点。当没有…

AI在日常生活中的应用:从语音助手到自动驾驶

文章目录 AI的定义和发展AI在日常生活中的应用1. **智能语音助手**2. **智能家居**3. **智能医疗**4. **自动驾驶** 代码示例:使用Python实现基于机器学习的图片分类AI的未来前景结论 🎉欢迎来到AIGC人工智能专栏~探索AI在日常生活中的应用 ☆* o(≧▽≦…

centos9 mysql8修改数据库的存储路径

一、环境 系统:CentOS Stream release 9 mysql版本:mysql Ver 8.0.34 for Linux on x86_64 (MySQL Community Server - GPL) 二、修改mysql的数据库,存储路径 查看目录数据存储的位置 cat /etc/my.cnf操作 1、新建存放的目录,…

【leetcode 力扣刷题】数组交集(数组、set、map都可实现哈希表)

数组交集 349. 两个数组的交集排序+双指针数组实现哈希表unordered_setunordered_map 350. 两个数组的交集Ⅱ排序 双指针数组实现哈希表unordered_map 349. 两个数组的交集 题目链接:349. 两个数组的交集 题目内容如下,理解题意&#xff1a…

react 10之状态管理工具2 redux + react-redux +redux-saga

目录 react 10之状态管理工具2 redux store / index.js 入口文件actionType.js actions常量的文件rootReducer.js 总的reducer 用于聚合所有模块的 reducerrootSaga.js 总的saga 用于聚合所有模块的 sagastore / form / formActions.js 同步修改 isShowstore / form / formRedu…

[机缘参悟-100] :今早的感悟:儒释道代表了不同的人生观、思维模式决定了人的行为模式、创业到处是陷阱、梦想与欺骗其实很容易辨认

目录 一、关于儒释道 二、关于成长性思维与固定性思维 三、关于创业 四、关于梦想与忽悠 一、关于儒释道 儒:逆势而为,修身齐家治国平天下,大公无私 佛:万法皆空,众生皆苦,普度众生,无公无…

如何构建 NodeJS 影院微服务并使用 docker 进行部署

图片来自谷歌 — 封面由我制作 一、说明 构建一个微服务的电影网站,需要Docker、NodeJS、MongoDB,这样的案例您见过吗?如果对此有兴趣,您就继续往下看吧。 在本系列中,我们将构建一个 NodeJS 微服务,并使用…

相邻节点迭代器(Java 实例代码源码包下载)

目录 相邻节点迭代器 Java 实例代码 src/runoob/graph/DenseGraphIterater.java 文件代码: src/runoob/graph/SparseGraphIterater.java 文件代码: 相邻节点迭代器 图论中最常见的操作就是遍历邻边,通过一个顶点遍历相关的邻边。邻接矩阵…

Python编程基础-函数

函数定义与调用 将完成某一特定功能并经常使用的代码编写成函数,在需要使用时直接调用 def 函数名(函数参数): 函数体 return 表达式或者值 def printHello(): #打印hello字符串print (hello)def printNum(): #输出0--9数字for i in range(0,10):print (i)return…

Unity 变量修饰符 之protected ,internal,const , readonly, static

文章目录 protectedinternalconstreadonlystatic protected 当在Unity中使用C#编程时,protected是一种访问修饰符,用于控制类成员(字段、方法、属性等)的可见性和访问权限。protected修饰的成员可以在当前类内部、派生类&#xf…

大数据背景和概念

一、背景 1.岗位现状 大数据在一线互联网已经爆发了好多年,2015年-2020年(国内互联网爆发期)那时候的大数据开发,刚毕业能写Hive SQL配置个离线任务、整个帆软报表都20K起步。如果做到架构师,50K跑不掉。现在市场回归…

字符串旋转(2)

题目要求: 写一个函数,判断一个字符串是否为另外一个字符串旋转之后的字符串。 例如: 给定s1 AABCD和s2 BCDAA,返回1。给定s1abcd和s2ACBD,返回0。AABCD左旋一个字符得到ABCDAAABCD左旋两个字符得到BCDAAAABCD右旋一个…

Stm32学习记录之中断

1、前言 该系列文章用于记录个人学习stm32单片机的过程,欢迎指导讨论~。 2、中断知识点梳理 中断 { N V I C ( 内嵌向量中断控制器 ) { 中断向量表 优先级 { 抢占优先级 响应优先级 自然优先级 优先级分组 E X T I ( 外部中断 ) { 触发方式 { 上边沿 下边沿 双边沿 …

wazuh安装、Rootkit原理解析与检测实践

目录 1.wazuh 1)什么是wazuh 2)安装wazuh 方法一:仓库安装(跟着官方文档走) 方法二:虚拟机OVA安装 2.Rootkit原理解析与检测实践 Rootkit主要分为以下2种 解压并编译这个文件 利用chkrootkit检查rootk…

看了这么多热闹,AI帮助你解决实际问题了吗?

经历了近两个月的日更之后,这个星期发文频率有所下降,日更需要花费更多的时间精力,而这恰恰是一个人忙起来之后无法保证的。后续发文频率稍做调整,内容会继续保持更新。 前几日小米发布会(雷老板2023年度演讲&#xff…