Docker可视化工具Portainer详解

 更新时间:2026年06月06日 10:45:23   作者:Hadoop_Liang  
这篇文章主要介绍了Docker可视化工具Portainer使用及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

常用的Docker可视化工具介绍

常用的Docker可视化工具有Portainer、Docker Dashboard、DockStation、LazyDocker、Docker UI等。

Portainer

功能特性

  • 全面资源管理:可对 Docker 的容器、镜像、网络、存储卷等各类资源进行细致管理。比如在容器管理上,能轻松查看容器详细信息,涵盖状态(运行、停止、暂停等)、资源使用情况(CPU、内存占用)、端口映射以及环境变量等;在镜像管理方面,支持从不同仓库拉取镜像,查看镜像分层结构,还可对本地镜像进行打标签、推送等操作。

  • 用户权限管理:具备完善的用户权限控制体系。能够创建多个用户账号,并依据不同需求为每个用户分配相应角色和权限,像管理员权限可对整个 Docker 环境全权操作,普通用户则可能仅被允许查看容器状态和日志等。

  • 集群管理支持(如 Docker Swarm):若采用了 Docker Swarm 集群,Portainer 可有效管理集群中的服务、节点等。能部署新的服务,对服务进行扩展或收缩操作,同时可监控集群节点的健康状态。

  • 适用场景:适用于各类规模的 Docker 环境,无论是个人开发者在本地开发环境的使用,还是企业级大规模容器集群的管理,Portainer 都能发挥出色作用。对于需频繁操作和监控 Docker 资源的用户,其可视化界面可显著提升操作效率。

Docker Dashboard(仅适用于 Docker Desktop)

功能特性

  • 简单直观界面:作为 Docker Desktop 自带的可视化工具,提供简洁明了的界面,方便用户迅速查看和管理本地的容器和镜像。在容器管理上,通过简单的按钮即可轻松启动、停止、删除容器;对于镜像,可查看镜像列表、拉取新镜像以及删除不需要的镜像。

  • 紧密集成优势:与 Docker Desktop 的其他功能紧密配合,例如能方便地查看容器的资源占用情况统计图表,这些统计信息与 Docker Desktop 的监控功能相结合,有助于用户更好地了解容器的运行状况。

  • 适用场景:主要适用于在本地开发环境中使用 Docker Desktop 的开发者。对于那些只需进行简单的容器和镜像管理,且依赖于 Docker Desktop 开展开发工作的用户而言,是极为便捷的工具。

DockStation

功能特性

  • 多项目管理与依赖展示:擅长处理多个项目的容器管理工作,并且能够以图形化的方式清晰呈现容器之间的依赖关系。这对于复杂的多容器应用架构极为有用,用户可直观地了解各个容器在整个项目中的作用以及它们之间的相互协作方式。

  • 支持 Docker Compose 文件管理:可以方便地导入、编辑和管理 Docker Compose 文件。通过对 Compose 文件的操作,能够快速部署和管理由多个的容器组成的应用。例如,用户可直接在 DockStation 中修改 Compose 文件中的容器配置参数,然后一键重新部署应用。

  • 美观用户界面:具有设计精美的用户界面,操作体验良好。界面布局合理,易于使用,提供了清晰的容器、镜像等资源的视图。

  • 适用场景:适合管理多个复杂的容器化项目,特别是对于依赖关系复杂的应用,以及经常使用 Docker Compose 进行应用部署的开发者或团队。

LazyDocker

功能特性

  • 轻量级终端可视化工具:基于终端的可视化查询工具,其优势在于占用系统资源少,运行速度快。对于系统资源有限或者对性能要求较高的环境来说,是非常不错的选择。

  • 支持键盘操作和鼠标点击:既保留了命令行工具的操作风格,方便习惯使用命令行的用户,又提供了形式的展示方式。用户可使用键盘快捷键快速操作,也可通过鼠标进行简单的点击操作,如查看容器详情、启动或停止容器等。

  • 快速查看 Docker 信息:能够在终端中快速查看 Docker 容器、镜像和卷的 0 信息。例如,可以直观地看到容器的运行状态、镜像的标签和大小等信息。

  • 适用场景:适合熟悉命令行操作的开发者,作为命令行工具的补充,用于快速查看 Docker 相关信息。尤其适用于在服务器环境中,通过 SSH 连接进行容器管理的情况,在这种场景下,LazyDocker 可以提供高效的可视化管理方式,而无需占用过多的系统资源。

Docker UI

功能特性:

  • 直观的容器镜像管理:提供了较为直观的界面来管理 Docker 容器和镜像。可以在界面上直接查看容器的运行状态、启动、停止、删除容器等操作,对于镜像,能查看镜像列表、拉取新镜像以及删除不需要的镜像等。

  • 资源使用情况展示:能够展示 Docker 容器的资源使用情况,如 CPU、内存的占用等,让用户可以清楚地了解容器运行时对资源的消耗情况。

  • 网络管理功能:可以管理 Docker 的网络,包括查看已有的网络、创建新的网络、连接容器到网络等操作,方便用户对 Docker 网络进行配置和管理。

  • 适用场景:适合初学者或对 Docker 可视化管理有一定需求的用户,尤其是那些希望通过直观的界面来快速了解和操作 Docker 容器、镜像以及网络等资源的用户。它可以作为一种简单有效的可视化工具,帮助用户更好地掌握 Docker 的基本操作和管理。管理页面无账户体系,仅适用于安全性较低的场景,不支持多主机和 Swarm 集群。

Docker可视化工具Portainer的安装与使用

选取Portainer 作为案例,安装方式有两种:

  1. 使用docker run的方式安装
  2. 使用docker compose的方式安装

Portainer的安装与使用

使用 docker run命令行安装

docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v /your/data/directory/for/portainer:/data --restart=always --name portainer portainer/portainer-ce:latest
  • -d:表示在后台运行容器。

  • -p 9000:9000:将容器的 9000 端口映射到宿主机的 9000 端口,这样你可以通过 http://localhost:9000 在浏览器中访问 Portainer。

  • -v /var/run/docker.sock:/var/run/docker.sock:将宿主机的 Docker 套接字文件映射到容器中,使 Portainer 能够与 Docker 引擎进行通信并管理容器。

  • -v /your/data/directory/for/portainer:/data:将宿主机上的一个目录(/your/data/directory/for/portainer)映射到容器的 /data 目录,用于保存 Portainer 的配置和数据。

  • --restart=always:确保容器在退出或系统重启时自动重新启动。

  • --name portainer:为容器指定一个名称为 portainer

操作

# /var/run/docker.sock文件本来就存在
[root@localhost ~]# ll /var/run/docker.sock
srw-rw---- 1 root docker 0 Oct 21 21:45 /var/run/docker.sock
​
[root@localhost ~]# docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v /portainer/data:/data --restart=always --name portainer portainer/portainer-ce:latest
Unable to find image 'portainer/portainer-ce:latest' locally
latest: Pulling from portainer/portainer-ce
2fdd3e02e7e5: Pull complete 
3745b0e5e59c: Pull complete 
d40df14c1d7a: Pull complete 
8215717c7c10: Pull complete 
542669febe7c: Pull complete 
6c27c7f45b54: Pull complete 
8acaeb74c182: Pull complete 
c6e890230c95: Pull complete 
bb1e24a5d5a1: Pull complete 
4350eaf0c914: Pull complete 
4f4fb700ef54: Pull complete 
Digest: sha256:ff9ac3a6e57fb94a489bd3cc02bb0da3887cb2aa6ddbde3e429b1da2bd5826d5
Status: Downloaded newer image for portainer/portainer-ce:latest
7ad59c02e90d7692736112d621acd495227528d20fa8361d6a4049bc311565c5
​
[root@localhost ~]# docker ps
CONTAINER ID   IMAGE                           COMMAND        CREATED          STATUS          PORTS                                                           NAMES
7ad59c02e90d   portainer/portainer-ce:latest   "/portainer"   49 seconds ago   Up 48 seconds   8000/tcp, 9443/tcp, 0.0.0.0:9000->9000/tcp, :::9000->9000/tcp   portainer
​

浏览器访问Linux ip:9000

192.168.193.150:9000

输入至少12个字符的密码,并确认输入密码,点击Create user创建用户

提示:如果5分钟内没有输入密码并创建成功账号,访问则报错:

Your Portainer instance has timed out for security purposes

解决办法,重启portainer

docker stop portainer
docker start portainer

进入如下界面

点击Home 

进入Dashboard

查看容器 

可以点击Doshboard看到的数字

也可以直接点击左侧导航栏的Containers 

与命令查看到的容器一致

[root@localhost ~]# docker ps -a
CONTAINER ID   IMAGE                                                           COMMAND                  CREATED          STATUS                    PORTS                                                           NAMES
7ad59c02e90d   portainer/portainer-ce:latest                                   "/portainer"             23 minutes ago   Up 16 minutes             8000/tcp, 9443/tcp, 0.0.0.0:9000->9000/tcp, :::9000->9000/tcp   portainer
9f7b38244259   registry.cn-shenzhen.aliyuncs.com/bigdata2112/mynginximage:v2   "/docker-entrypoint.…"   3 days ago       Exited (0) 3 days ago                                                                     mynginx-test
b5b3bc7c5982   test/myspringbootapp:v3                                         "java -jar /web/app.…"   3 days ago       Exited (143) 3 days ago                                                                   myspringbootweb
​

查看镜像

查看网络

查看主机

更多的功能请自行探索。

删除portainer

[root@localhost ~]# docker ps
CONTAINER ID   IMAGE                           COMMAND        CREATED          STATUS          PORTS                                                           NAMES
7ad59c02e90d   portainer/portainer-ce:latest   "/portainer"   35 minutes ago   Up 28 minutes   8000/tcp, 9443/tcp, 0.0.0.0:9000->9000/tcp, :::9000->9000/tcp   portainer
​
# 删除portainer容器
[root@localhost ~]# docker rm -f 7ad59c02e90d
7ad59c02e90d
​
[root@localhost ~]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

使用 Docker Compose 方式安装

创建一个 compose.yml 文件,内容如下:

services:
  portainer:
    container_name: portainer
    image: portainer/portainer-ce:latest
    ports:
      - "9000:9000"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:rw
      - /portainer/data:/data:rw

请将 /portainer/data 替换为你在宿主机上想要保存 Portainer 数据的实际目录。

compose.yml 文件所在的目录下,打开终端或命令提示符,执行以下命令启动 Portainer:

docker compose up -d

操作过程

[root@localhost ~]# mkdir portainer
[root@localhost ~]# cd portainer/
[root@localhost portainer]# vi compose.yml
services:
  portainer:
    container_name: portainer
    image: portainer/portainer-ce:latest
    ports:
      - "9000:9000"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:rw
      - /portainer/data:/data:rw
[root@localhost portainer]# docker compose up -d
[+] Running 2/2
 ✔ Network portainer_default  Created                                                                                      0.1s 
 ✔ Container portainer        Started                                                                                      0.5s 
[root@localhost portainer]# 

浏览器访问

关闭portainer

[root@localhost portainer]# docker compose down
[+] Running 2/2
 ? Container portainer        Removed                                                                                      0.4s 
 ? Network portainer_default  Removed   

再次访问portainer服务

完成!

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Docker目录迁移的实现示例

    Docker目录迁移的实现示例

    Docker默认目录比较小,容器日志过多就会导致无法运行,本文主要介绍了Docker目录迁移的实现示例,具有一定的参考价值,感兴趣的可以了解一下
    2024-06-06
  • Docker如何实现容器间的安全通信方式

    Docker如何实现容器间的安全通信方式

    文章介绍了使用自定义网络、网络访问控制、数据加密、认证与授权机制、安全更新与漏洞管理等方法来提升Docker容器的安全性
    2024-11-11
  • Docker如何给Springboot项目动态传参的实现方法

    Docker如何给Springboot项目动态传参的实现方法

    这篇文章主要介绍了Docker如何给Springboot项目动态传参的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • Docker同时安装MySQL和MariaDB的方法步骤

    Docker同时安装MySQL和MariaDB的方法步骤

    这篇文章主要介绍了Docker同时安装MySQL和MariaDB的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • Docker无法登录与推送问题解决的详细教程

    Docker无法登录与推送问题解决的详细教程

    这篇文章主要介绍了如何使用阿里云容器镜像服务来解决国内访问Docker Hub速度慢的问题,并详细描述了如何设置阿里云镜像服务、配置Docker、操作镜像(包括pull和push)以及测试拉取镜像的过程,需要的朋友可以参考下
    2025-02-02
  • 通用docker运行ubuntu图形化桌面完整步骤

    通用docker运行ubuntu图形化桌面完整步骤

    Docker本身的工作模式是命令行的,其主要使用场景是运行无界面的后台服务或者运行Web服务,这篇文章主要介绍了通用docker运行ubuntu图形化桌面的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2026-04-04
  • Docker部署java项目,关于Dockerfile文件构建镜像方式

    Docker部署java项目,关于Dockerfile文件构建镜像方式

    文章指导如何使用Docker部署Java应用:先检查Docker版本,拉取openjdk:8基础镜像并创建Dockerfile(注意名称与jar包路径一致),构建镜像后运行容器(指定端口、日志目录及JVM参数),最后进入容器获取Java进程日志并映射到宿主机
    2025-07-07
  • docker network create命令的具体使用

    docker network create命令的具体使用

    docker network create命令用于创建一个新的网络连接,本文就来详细的介绍一下docker network create命令的具体使用,具有一定的参考价值,感兴趣的可以了解一下
    2023-10-10
  • 一文详解如何获取docker镜像中的jar包

    一文详解如何获取docker镜像中的jar包

    本人在工作中遇到了需要在docker查看jar这种操作,查看了许多资料,终于还是找到了,下面这篇文章主要给大家介绍了关于如何获取docker镜像中jar包的相关资料,需要的朋友可以参考下
    2024-05-05
  • 使用Docker部署todo任务管理器的实现

    使用Docker部署todo任务管理器的实现

    本文介绍使用Docker部署Todo任务管理器的全过程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-07-07

最新评论