12. Docker可视化工具

目录

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.mzph.cn/news/44781.shtml

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

相关文章

C# 观察者模式

一、概述 观察者模式是一种常用的设计模式,它属于行为型模式。在C#中,观察者模式通过定义一种一对多的依赖关系,使得当一个对象的状态发生变化时,所有依赖于它的对象都会得到通知并自动更新。这种模式可以实现松耦合,…

Ribbon负载均衡

Ribbon与Eureka的关系 Eureka的服务拉取与负载均衡都是由Ribbon来实现的。 当服务发送http://userservice/user/xxxhtt://userservice/user/xxx请求时,是无法到达userservice服务的,会通过Ribbon会把这个请求拦截下来,通过Eureka-server转换…

常见排序集锦-C语言实现数据结构

目录 排序的概念 常见排序集锦 1.直接插入排序 2.希尔排序 3.选择排序 4.堆排序 5.冒泡排序 6.快速排序 hoare 挖坑法 前后指针法 非递归 7.归并排序 非递归 排序实现接口 算法复杂度与稳定性分析 排序的概念 排序 :所谓排序,就是使一串记录&#…

排名前 6 位的数学编程语言

0 说明 任何对数学感兴趣或计划学习数学的人,都应该至少对编程语言有一定的流利程度。您不仅会更有就业能力,还可以更深入地理解和探索数学。那么你应该学习什么语言呢? 1.python 对于任何正在学习数学的人来说,Python都是一门很棒…

【Linux从入门到精通】动静态库的原理与制作详解

本篇文章主要是围绕动静态库的原理与制作进行展开讲解的。其中涉及到了inode的概念引入和软硬连接的讲解。会结合实际操作对这些抽象的概念进行解释,希望会对你有所帮助。 文章目录 一、inode 概念 二、软硬链接 2、1 软连接 2、2 硬链接 三、动静态库概念 3、1 静态…

编织梦想:SpringBoot AOP 教程与自定义日志切面完整实战

什么是 AOP AOP 是指通过预编译方式和运行期动态代理的方式,在不修改源代码的情况下对程序进行功能增强的一种技术。AOP 不是面向对象编程(OOP)的替代品,而是 OOP 的补充和扩展。它是一个新的维度,用来表达横切问题&a…

常见前端基础面试题(HTML,CSS,JS)(三)

JS 中如何进行数据类型的转换? 类型转换可以分为两种,隐性转换和显性转换 显性转换 主要分为三大类:数值类型、字符串类型、布尔类型 三大类的原始类型值的转换规则我就不一一列举了 数值类型(引用类型转换) Numbe…

设计模式之状态模式(State)的C++实现

1、状态模式的提出 在组件功能开发过程中,某些对象的状态经常面临变化,不同的状态,其对象的操作行为不同。比如根据状态写的if else条件情况,且这种条件变化是经常变化的,这样的代码不易维护。可以使用状态模式解决这…

如何在window下cmd窗口执行linux指令?

1.Git:https://git-scm.com/downloads(官网地址) 2.根据自己的实际路径,添加两个环境变量 3.重启电脑

删除有序链表中重复的元素-II(链表)

乌!蒙!山!连!着!山!外!山! 题目: 思路: 双指针,slow和fast,并且增加标记flag初始为1。 如果slow指向节点值等于fast指向节点值&…

Servlet 初步学习

文章目录 Servlet1 简介2 快速入门3 执行流程4 生命周期5 方法介绍6 体系结构7 urlPattern配置8 XML配置 Servlet 1 简介 Servlet是JavaWeb最为核心的内容,它是Java提供的一门 动态 web资源开发技术。 使用Servlet就可以实现,根据不同的登录用户在页面…

什么是cURL?

cURL无处不在。它几乎隐藏在所有设备中,例如汽车,蓝光播放器等。它通过互联网协议传输任意类型数据。 在本文中,我们将揭开cURL神秘命令行工具的面纱,解释它是如何成为一种通用代码的,并举例说明其用法。 cURL是什么意…

PHP海外代购管理系统mysql数据库web结构apache计算机软件工程网页wamp

一、源码特点 PHP 海外代购管理系统是一套完善的web设计系统,对理解php编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 代码下载 https://download.csdn.net/download/qq_41221322/88229435 论文 https://…

Redis中的分布式锁及其延生的问题

前言 本文将着重介绍Redis中的分布式锁及其与出现的死锁和锁误删问题 什么是分布式锁 首先问题就是什么是分布式锁,分布式锁就是分布式系统中实现并发控制的一种锁机制,它可以保证多个节点在同一个时间只有有一个能成功竞争到系统资源(共享…

LeetCode算法递归类—二叉树中的最大路径和

目录 124. 二叉树中的最大路径和 - 力扣(LeetCode) 题解: 代码: 运行结果: 二叉树中的 路径 被定义为一条节点序列,序列中每对相邻节点之间都存在一条边。同一个节点在一条路径序列中 至多出现一次 。该…

基于Opencv的虚拟拖拽项目

预备知识 勾股定理 跟随移动算法 手势识别图解 项目源代码 """ 演示一个简单的虚拟拖拽 步骤: 1、opencv 读取视频流 2、在视频图像上画一个方块 3、通过mediapipe库获取手指关节坐标 4、判断手指是否在方块上 5、是,方块跟着移动 6、…

密码学学习笔记(十九):密码学关键术语的解释1

数据加密标准(DES) 数据加密标准是使用最广泛的加密体制,它于1977年被美国国家标准和技术研究所(NIST)采纳为联邦信息处理标准FIPS PUB 46。 DES3DESAES明文分组长度(位)6464128密文分组长度(位)6464128密钥长度&…

详解junit

目录 1.概述 2.断言 3.常用注解 3.1.Test 3.2.Before 3.3.After 3.4.BeforeClass 3.5.AfterClass 4.异常测试 5.超时测试 6.参数化测试 1.概述 什么是单元测试: 单元测试,是针对最小的功能单元编写测试代码,在JAVA中最小的功能单…

0101读写分离测试-jdbc-shardingsphere-中间件

文章目录 1 前言2、创建SpringBoot程序2.1、创建项目2.2、添加依赖2.3、生成实体类、service与Mapper1.5、配置读写分离 2、测试2.1、读写分离测试2.2、事务测试2.3、负载均衡测试 结语 1 前言 shardingshpere-jdbc定位为轻量级 Java 框架,在 Java 的 JDBC 层提供的…

【前端面试】中大文件上传/下载:中等文件代理服务器放行+大文件切片传输+并发请求+localstorage实现断点续传

目录 中等文件代理服务器放行:10MB为单位 proxy nginx 大文件切片:100MB为单位 断点:存储切片hash 前端方案A localstorage 后端方案B 服务端 上传 前端 后端 下载 前端 后端 多个大文件传输:spark-md5 哈希碰撞…