Ubuntu上有一些流行的Docker容器监控服务,可以通过Web界面进行查看和管理。以下是一些常用的Docker容器监控工具:
-
Portainer:Portainer是一个轻量级的Docker管理界面,提供了直观的Web界面来管理和监控Docker容器。它支持容器的创建、启动、停止、删除等操作,并提供了实时的容器状态和资源使用情况的监控。
-
cAdvisor:cAdvisor是Google开源的一个用于监控容器资源使用情况的工具。它提供了一个Web界面,可以查看容器的CPU、内存、磁盘、网络等资源的使用情况,并提供了历史数据的图表展示。
-
Prometheus:Prometheus是一个开源的监控和报警系统,可以用于监控Docker容器的各种指标。它提供了一个Web界面,可以查看容器的实时状态和指标,并支持自定义报警规则。
-
Grafana:Grafana是一个开源的数据可视化工具,可以与Prometheus等监控系统集成,用于展示和分析监控数据。通过Grafana,可以创建仪表盘来展示Docker容器的各种指标和状态。
今天我们来介绍一下portainer这款软件。
https://github.com/portainer/portainer
安装教程:Install Portainer CE with Docker on Linux
dockerhub:portainer/portainer-ce
我在我们ubuntu20.04 158 arm盒子上测试
创建卷
查看卷
删除卷可用
查看卷详细信息
下载并run镜像
查看容器
打开网页查看
设置登录账号密码
哎呀,超时了
要重启下容器:
进入首页
然后重新刷新页面,设置密码并点击确认
然后进来了:
可能后台正在初始化,等一会就会显示这个(不行就直接点Get Started):
查看监控数据
所有环境列表
这里会显示所有添加的环境列表,我们已经有一个local环境了,通过这个环境,我们可以看到一些重要信息。
包括快照时间(last snapshot time),主机状态,环境类型,容器数量,容器状态,卷数量,镜像数量,CPU个数,总内存大小等。
Live Connect 和 Disconnect 按钮(指与正在运行的容器建立或断开实时连接的操作)
-
Live Connect(实时连接):Live Connect允许与正在运行的容器建立实时的终端连接。通过实时连接,可以像在命令行中一样与容器进行交互,执行命令、查看日志等。这对于调试和排查容器中的问题非常有用。
-
Disconnect(断开连接):Disconnect操作用于断开与容器的实时连接。当不再需要与容器进行交互时,可以选择断开连接,以释放资源并停止实时监控容器。
Dashboard 界面(可以看到环境的摘要信息)
Stacks界面(用于管理和部署Docker Compose或Kubernetes的堆栈)
通过使用"Stacks"界面,可以方便地管理和部署多个相关的服务和容器,实现应用程序的整体部署和管理。
关于"Stacks"堆栈
堆栈是一组相关的服务和容器,可以一起部署和管理。通过使用堆栈,您可以定义和配置多个容器、网络、存储卷等,并将它们作为一个整体进行部署和管理。
在Portainer.io的"Stacks"界面中,您可以执行以下操作:
-
创建堆栈:您可以通过上传Docker Compose文件或Kubernetes YAML文件来创建一个新的堆栈。这些文件定义了堆栈中的服务、容器、网络等配置。
-
部署堆栈:一旦创建了堆栈,您可以选择部署它。部署堆栈将会创建和启动堆栈中定义的所有服务和容器。
-
管理堆栈:在"Stacks"界面中,您可以查看和管理已经创建的堆栈。您可以查看堆栈的状态、启动或停止堆栈中的服务、查看服务的日志等。
Containers界面
这个界面把我们主机下的容器都给列出来了:
这个页面功能就很强大了,包括容器基本信息,映射端口,,,基本都有,而且还能查看容器日志、容器详细信息、资源使用情况,还能进入容器执行命令,等等功能。
容器操作:可以停止容器、强行kill容器、重启容器、暂停容器、删除容器等
容器日志:可以查看、筛选、跟踪、下载日志
容器详细信息
容器资源使用数据
命令交互(Exec Console)和"Attach Console"
Attach Console搞不清楚干嘛用的🤐:
"Attach Console"和"Exec Console"有什么区别?(没太懂)
-
Attach Console(附加终端连接):"Attach Console"操作是将终端连接附加到正在运行的容器上,以便与容器进行交互。它提供了一个实时的终端界面,可以直接在容器的命令行界面执行命令、查看日志等。
-
Exec Console(执行终端命令):"Exec Console"操作是在容器中执行特定的终端命令,而不是直接附加终端连接。它允许您在容器中执行一次性的命令,而无需保持持久的终端连接。可以指定要执行的命令,并查看命令的输出结果。
区别在于,"Attach Console"提供了一个实时的终端连接,可以与容器进行交互,执行多个命令,并持续查看输出。而"Exec Console"只是执行一次性的命令,并返回命令的输出结果,不会保持持久的终端连接。
在Portainer.io的容器详情页面中,可以找到这两个功能的按钮。通过点击"Attach Console"按钮,可以附加终端连接到容器。通过点击"Exec Console"按钮,可以执行一次性的终端命令,并查看命令的输出结果。
镜像列表
网络列表
卷列表
事件列表(重大容器操作记录)
主机信息界面
容器特性配置
docker镜像源配置
portainer支持环境(Docker Standalone、Docker Swarm、Kubernetes、ACI、Nomad等)介绍
portainer支持添加不同的环境,如图所示,下面分别介绍不同环境的功能。
这些环境之间的区别主要体现在功能和适用场景上。Docker Standalone适用于单个主机上的容器管理,Docker Swarm适用于小规模集群,Kubernetes适用于大规模集群,ACI适用于云平台上的容器服务,Nomad适用于多个主机上的容器编排和调度。
1. Docker Standalone
这是最基本的Docker环境,用于在单个主机上运行和管理容器。它提供了简单的命令行工具和图形界面,可以方便地创建、启动和停止容器。
2. Docker Swarm
这是Docker的原生集群管理工具,用于在多个主机上运行和管理容器。它提供了高可用性、负载均衡和容器编排等功能,可以将多个主机组成一个集群,实现容器的自动部署和扩展。
3. Kubernetes
这是一个开源的容器编排平台,用于在大规模集群中运行和管理容器。它提供了高可用性、自动扩展、服务发现和负载均衡等功能,可以实现容器的自动部署、弹性伸缩和故障恢复。
4. ACI(Azure Container Instances)
这是微软Azure云平台上的容器服务,用于在云上运行和管理容器。它提供了简单的命令行工具和图形界面,可以方便地创建、启动和停止容器,无需管理底层的虚拟机。
5. Nomad
这是HashiCorp公司开发的容器编排和调度工具,用于在多个主机上运行和管理容器。它提供了高可用性、负载均衡和容器编排等功能,可以将多个主机组成一个集群,实现容器的自动部署和扩展。
以下容器名称填你自己的portainer容器名,卷名填你自己的portainer卷名:
- 停止容器
- 删除容器
- 删除卷