Docker生态工具:Portainer、LazyDocker、Dockge、App2Docker

Portainer

https://github.com/portainer/portainer

轻量级的容器管理平台,可通过Web界面轻松管理Docker、Kubernetes、Swarm等容器环境。基于浏览器可视化界面,支持单机部署也支持集群管理。

核心功能

  • 一键式容器部署,支持Docker镜像快速拉取和部署,填几个表单就能启动复杂的容器应用,比敲命令快十倍
  • 可视化资源监控,实时查看容器CPU、内存、网络使用情况,哪个容器出问题一眼就能看出来
  • 应用模板功能,内置了常用应用的一键部署模板,比如Redis、Nginx、MySQL等
  • 完整的镜像管理,可以浏览、搜索、拉取Docker Hub上的镜像,也能管理本地镜像仓库,还支持构建自定义镜像
  • 网络和存储卷管理,通过界面就能创建Docker网络和数据卷,容器间的通信配置变得超简单
  • 多环境统一管理,可以同时管理多个Docker主机、Kubernetes集群,在一个界面切换不同环境,运维效率直接翻倍
  • 强大的权限控制,支持多用户和团队管理,可以给不同成员分配不同的权限,适合企业级使用
  • 管理远程Docker主机,可以在环境设置里添加远程端点,支持TCP和SSH两种连接方式
bash 复制代码
docker volume create portainer_data
docker run -d -p 9000:9000 \
  --name=portainer --restart=always \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v portainer_data:/data \
  portainer/portainer-ce:latest

浏览器访问 http://localhost:9000

yaml 复制代码
version: '3'
services:
  portainer:
    image: portainer/portainer-ce:latest
    container_name: portainer
    restart: always
    ports:
      - "9000:9000"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - portainer_data:/data
volumes:
  portainer_data:

界面

  • Dashboard(仪表盘):总览所有容器、镜像、网络、卷的统计信息,资源使用一目了然
  • Containers(容器管理):列出所有容器及其状态,可以启动、停止、重启、查看日志、进入终端
  • Images(镜像管理):管理本地镜像,从Docker Hub拉取新镜像,删除不用的镜像释放空间
  • Networks(网络配置):创建和管理Docker网络,配置容器间的网络连接
  • Volumes(存储卷):管理数据持久化卷,查看卷的使用情况
  • Stacks(应用栈):通过Docker Compose文件部署多容器应用,一键部署完整的应用栈

LazyDocker

开源(GitHub,50.3K Star,1.6K Fork)基于终端的用户界面,用于管理Docker和Docker Compose环境,把所有高频操作浓缩到一个键盘驱动的终端仪表盘里,提供更简洁的Docker容器部署与管理体验。

核心功能

  • 容器管理:启动、停止、重启、删除容器
  • 服务管理:Docker Compose 服务编排
  • 日志查看:带过滤功能的实时日志流
  • 资源监控:容器统计信息和资源使用情况
  • 自定义命令:用户定义的命令模板
  • 多语言支持:面向全球用户的国际化

基于面板的界面:每个面板专注于Docker管理的特定方面:

  • 主面板:带有上下文特定内容的主要交互区域
  • 容器面板:容器列表和管理操作
  • 服务面板:Docker Compose 服务概览
  • 镜像面板:Docker 镜像管理
  • 卷面板:卷操作和挂载
  • 网络面板:网络配置和连接
  • 项目面板:项目级操作和设置

配置系统:支持自定义:

  • GUI 配置:颜色、主题和视觉偏好
  • 命令模板:可自定义的Docker命令执行
  • 自定义命令:带有模板支持的用户定义操作
  • 批量命令:可同时应用于多个项目的操作

实战

提供多种安装方式:

  • 命令行
  • Docker
  • 二进制
bash 复制代码
brew install lazydocker
# Windows(Scoop)
scoop install lazydocker
# Arch
yay -S lazydocker-bin
# 二进制
curl https://raw.githubusercontent.com/jesseduffield/lazydocker/master/scripts/install_update_linux.sh | bash
# Docker
docker run --rm -it -v \
/var/run/docker.sock:/var/run/docker.sock \
-v /yourpath:/.config/jesseduffield/lazydocker \
lazyteam/lazydocker

Dockge

Portainer,功能强大,界面专业;但docker-compose.yaml文件要么存储于BoltDB数据库,要么在加密的Volume卷里,被捆绑。

官网,Uptime Kuma的作者Louis Lam开源(GitHub,22.5K Star,717 Fork)Dockge,定位Docker+Package,即基于docker-compose.yaml文件的、反应式(Reactive)的Docker管理器。

对比

特性 Portainer Dockge
配置存储 数据库(黑盒) 本地文件系统(白盒)
迁移难度 高(需导出/导入) 极低(复制文件夹即可)
资源占用 较高 极低
Agent模式 复杂(EdgeAgent) 简单(DockgeAgent)
上手门槛 需学习编排概念 会写Compose即可

优势

数据主权的回归:文件即真理

与 Portainer 将配置吸入数据库不同,Dockge 是一个**"文件浏览器"**。 当你用 Dockge 创建一个名为 nginx 的服务时,它会实实在在地在你的硬盘上(例如 /opt/stacks/nginx)创建一个 compose.yaml 文件。

这意味着什么?

  • 双向同步 :你可以用 Dockge 的网页端修改配置;你也可以 SSH 进去用 vim 修改。Dockge 会实时感知文件变化并更新 UI。
  • GitOps 友好 :你可以直接把 /opt/stacks 目录推送到 GitHub。你的基础设施即代码(IaC)从未如此清晰。
  • 灾难恢复:哪怕 Dockge 挂了,你的所有服务毫发无损,配置文件依然静静地躺在文件夹里。
  1. docker run 的魔法转换器

这是 Dockge 最让新手感动的功能。 我们在网上找教程时,经常看到博主甩出一行长达 500 字符的 docker run 命令。 以前,你需要手动把它翻译成 YAML 格式,极其容易缩进错误。

在 Dockge 里,有一个专门的输入框。**粘贴那行 docker run 命令 -> 点击转换。**Boom! 一个格式完美的 compose.yaml 就生成了。 这不仅是工具,这是生产力的"降维打击"。

  1. 反应式 UI 与内置终端

Louis Lam 的前端功底在 Dockge 上再次展现得淋漓尽致。 界面切换没有任何延迟,日志流是实时的,状态更新是毫秒级的。 而且,它直接在 Web 界面里嵌入了一个全功能的终端 。 你需要进入容器内部 exec 一下?不需要打开 Xshell,直接在网页里点一下,Shell 就弹出来了。

实战

基于Docker Compose安装:

yaml 复制代码
version: "3.8"
services:
dockge:
    image: louislam/dockge:1
    restart: unless-stopped
    ports:
      # Web 面板端口
      - 5001:5001
    volumes:
      # 这是一个 Docker 管理 Docker 的套娃,需要挂载 sock
      - /var/run/docker.sock:/var/run/docker.sock
      # Dockge 自身的数据
      - ./data:/app/data
      # 关键:你想让 Dockge 管理的目录
      - /opt/stacks:/opt/stacks
    environment:
      - DOCKGE_STACKS_DIR=/opt/stacks

App2Docker

一键将应用打包成Docker镜像的开源(Gitee,182 Star,52 Fork)可视化平台,支持多种应用类型,包括Java(JAR)、Nodes、Python、Go和静态网站等。提供Web界面,使得用户无需编写Dockerfile即可轻松构建Docker镜像。

功能

  1. 镜像构建:提供分步构建流程,支持多种应用类型,并允许用户通过文件上传或Git数据源选择项目,确认分支,选择项目类型和模板,以及填写镜像名称和标签等。用户可以实时查看构建日志,确保构建过程透明可控。

  2. 流水线管理(CI/CD):支持Webhook触发,包括GitHub、GitLab、Gitee,提供灵活的分支策略和定时触发选项,以及构建历史记录的查看,方便用户管理和追踪构建过程。

  3. 导出镜像:用户可以导出单个镜像或使用Docker Compose批量导出,支持Gzip压缩,便于镜像的存储和传输。

  4. 任务管理:提供任务管理功能,包括查看所有构建和导出任务、实时查看任务日志、任务状态跟踪以及任务清理功能,确保用户能够有效管理构建任务。

  5. 配置管理:支持多个 Docker 仓库的配置,包括仓库认证测试和自动推送功能,确保镜像能够顺利推送到指定的仓库。使用流程快速构建

实战

基于Docker部署

bash 复制代码
docker run -d \ --name app2docker \ -p 8000:8000 \ -v $(pwd)/data:/app/data \ -v /var/run/docker.sock:/var/run/docker.sock \ registry.cn-shanghai.aliyuncs.com/51jbm/app2docker:latest

浏览器访问http://localhost:8000,使用默认账号admin/admin登录。

在流水线管理中,用户可新建流水线,配置基本信息和构建参数,设置Webhook,以便自动化构建过程。

Docker仓库配置:用户可通过右上角的配置选项,设置Docker仓库的地址、镜像前缀、账号密码等信息,并测试登录以确保配置正确。为了确保系统的安全性,建议用户在首次使用时修改管理员密码,配置Docker仓库认证信息,并在生产环境中使用HTTPS,限制访问IP,定期备份重要数据。

数据持久化:必须配置映射data/目录,以确保配置和模板不会丢失。该目录包含配置文件、用户自定义模板、上传的文件和导出的镜像等重要数据。

部分操作截图

相关推荐
廿一夏2 小时前
搭建Ubuntu 虚拟机与部署docker
linux·ubuntu·docker
last demo2 小时前
docker容器监控
运维·docker·容器
CSH0562 小时前
k8s生产集群主机批量重启后,大量Pod启动失败故障排查复盘
docker·容器·kubernetes
柯儿的天空2 小时前
【OpenClaw 全面解析:从零到精通】第 014 篇:OpenClaw 云端部署实战——阿里云、腾讯云与 Docker 部署全指南
人工智能·阿里云·docker·云计算·aigc·腾讯云·ai写作
匀泪2 小时前
云原生(docker网络)
docker·云原生·容器
changhong19862 小时前
Docker部署Spring Boot + Vue项目
vue.js·spring boot·docker
Uncertainty!!3 小时前
docker打包本地conda虚拟环境并远程部署
docker·容器·conda
一点事3 小时前
windows:安装docker
windows·docker·容器
moxiaoran57533 小时前
使用docker创建flowable容器
运维·docker·容器