Docker 管理工具体验

Docker 管理工具体验

最近折腾玩 Docker,首先需要一个好用的管理工具。目前选择 Portainer + Dockge 配合。

Portainer CE

Portainer 应该是比较出名的一个综合性 Docker 管理工具了,综合上来说这个也是最推荐的。

社区版有汉化版本 6053537/portainer-ce 可用,更新比较慢但也在更新。

一键安装脚本中只挂载了 docker.sock,最好也挂载一个 /data 目录方便管理 stack,和任意一个本地目录用于直接 build 的容器

docker run -d --restart=always --name="portainer" \
    -p 10002:9000 \
    -p 9443:9443 \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v /docker-data/portainer:/data \
    -v /home:/host_home \
    6053537/portainer-ce
  • /data 目录我放在了 /docker-data/portainer
  • 我将 /home 挂在了 /host_home
  • 两个端口,9000 用于 http 访问,9443 用于 https 访问。一般只用前一个

image

优点

Portainer 优点是容器管理功能全面,堆栈(就是编排,docker-compose)、容器、镜像、卷、网络等需要的功能都有。

编排支持直接从 github 获取 - 但通常有提供 docker-compose.yml 的仓库都得重新编辑一下(环境变量、卷挂载等),我从未使用过

image

在构建前会对 yaml 进行校验,哪里错误会帮你指出

image

卷和网络可以显示哪些容器在使用

image

支持导出和备份配置

缺点

部署时只显示一个部署中,不显示部署进度,有时候镜像较大或网络不太好会比较急

image

堆栈(编排)只能用于在 Portainer 中创建的堆栈,同时他的编排文件无法直接导入,且按某种编号排列,想手动补全很麻烦

image

image

未提供修改 daemon.json 的功能,像修改镜像地址、添加 nvidia 环境等还要去ssh或系统完成

容器终端比较简陋,但好在够大

image

在以前使用时,出现过下载错误但给出的错误信息不明确,这里没有截图,不知道现在如何

不支持容器更新。这点其实有挺多解决办法的,最简单的装一个 watchtower

容器发布端口点击可以直接打开界面,但是 0.0.0.0:port

image

1Panel

1Panel 应该说是一个系统面板而不仅仅是一个 Docker 管理面板。但这里只评论 Docker 功能。也因此,1Panel 自身不是一个 Docker 应用

应用商店

1Panel 的 Docker 功能准确说应该分为两部分 - 容器和应用商店。容器是比较单纯的管理 Docker 的功能,而应用商店则是提供了一系列整合好的编排文件发布。官方应用商店应用数量不多,但可以添加本地应用(就是第三方应用商店),并配合计划任务进行更新,比如我就添加了 okxlin 和 QYG2297248353 的两个仓库:

# https://github.com/okxlin/appstore
wget -P /opt/1panel/resource/apps/local https://github.com/okxlin/appstore/archive/refs/heads/localApps.zip
unzip -o -d /opt/1panel/resource/apps/local/ /opt/1panel/resource/apps/local/localApps.zip
cp -rf /opt/1panel/resource/apps/local/appstore-localApps/apps/* /opt/1panel/resource/apps/local/
rm -r /opt/1panel/resource/apps/local/appstore-localApps
rm /opt/1panel/resource/apps/local/localApps.zip

# https://github.com/QYG2297248353/appstore-1panel
script_url="https://install.lifebus.top/app_install.sh"
echo "Downloading and executing script from $script_url..."
bash <(curl -sL "$script_url")
echo "Script execution completed."

应用商店部分截图如下:

image

image

通过应用商店功能确实非常方便,同时也不失灵活性 - 在安装界面是可以手动编辑 docker-compose 文件的,所有参数通过环境变量传入。在镜像详情页也可以看到简单的介绍和官网的链接。

已安装的应用可以快速跳转到安装目录、日志、容器命令行、Docker容器管理界面,还是挺方便的。备份功能倒是没怎么用过

安装目录:就是 docker-compose.yml.env 文件存放位置,以及挂载卷映射时 . 的相对位置

image

支持升级,跳转可以直接跳转到,类似 Portainer 发布端口,但跳转相对当前页面 URL,比 Portainer 处理的更好,日志和终端界面也比 Portainer 更漂亮,但只有半屏,小屏幕看起来可能不是很舒服

image

参数处可以查看和设置参数并重建,在这里也可以直接编辑 compose 文件。但有时候只是改下端口或容器名,不勾选高级设置,也会设置失败。

image

容器管理

相比 Portainer,1Panel 的容器管理多了升级和监控,其他基础功能也是一应俱全。但细节上很多不如 Portainer 好用。

创建编排时,如果要添加环境变量,需要手动引入 1panel.env,容易忘

image

1Panel 无法直观的查看使用某个网络的容器。虽然可以在右侧信息 Container 中查看,但使用方面始终不如 Portainer 方便。

image

image

存储卷也是,Portainer 可以查看卷在不同容器中的挂载点,1Panel 不行。但由于 1Panel 是一个系统应用而非 Docker 应用,可以直接查看卷内容,这是 Portainer 不具备的

image

同样的原因,1Panel 支持在面板中直接修改 daemon.json 内容,换源等操作十分方便

image

功能整合

1Panel 的容器功能与其他功能的整合设计算是个加分项?但也造成了一些麻烦。

1Panel 的网站功能依赖于 OpenResty 实现,也可以在创建网站、反向代理中快速选择对应的容器,甚至可以创建容器

image

image

但是,如果这样设置了,你的容器应用将与网站关联

image

如果你想清除数据完全重建容器,需要先将网站删除

image

另外,1Panel 的界面使用有一点我一直不能习惯,他的表单是固定大小的,因此有时候会出现两个滚动条。限制了显示区域,也感觉有点别扭。在切换到其他页面后,返回前面的页面,滚动位置不会保留,用起来也不很方便。

image

1Panel 安装后会默认开启防火墙,因此在安装应用或部署容器时会有一个端口外部访问的选项,否则不会在防火墙开放端口。确实安全了,但也确实更麻烦了。

个人感觉,应用商店确实方便,但总体上不如 Portainer + Webmin 的组合。

Dockge

Dockge 是一个界面很漂亮的编排管理工具,只关注于编排,至于其他 Docker 管理功能是一概没有的。但也有一些特色功能,也是我保留它并作为编排管理工具的原因。

image

image

最实用的功能应该是可以将 docker run 脚本转换为编排文件。

image

另外,Dockge 明确支持将 compose 文件放入对应目录进行管理

image

Dockge 也支持直接编辑容器组,不需要手动编辑 compose 文件。注意有时候会清空注释

image

但他提供了一个 额外 功能,此处添加的网址可以显示在对应容器顶部,算是弥补了注释的问题了吧

image

image

DPanel

DPanel

很简洁的一个界面。浅试了一下,感觉集合了 Portainer 和 1Panel 的优点

  • 支持 CasaOS、1Panel 的应用商店,支持更新,但批量更新需要 Pro 版本
  • 内置一个 Nginx,但选择容器还要手动选择端口
  • 快捷访问,但需要 Pro 版本
  • 支持查看容器内部文件,但又没啥用的样子

若是有三方商店的需求,又不需要一个完整的面板,又觉得 CasaOS 太过于花里胡哨,可以试试这个。在订阅 Pro 的情况下还可以取代 Homepage 之类的导航,但对我来说吸引力不大

image

另外经常出现 read |0: file already closed 问题,不知道怎么回事。

Arcane

试了一下,不考虑语言问题,感觉不如 DPanel

image

Arcane 界面类似 DPanel 也是一个控制台,基本的管理功能也都有。但切换页面加载不如前面的快,还没有中文。但完全不影响使用。

镜像支持检查更新,但也只是检查更新,点击那个标记没有任何反应。另外镜像 Images 为什么配图是图片的标。

image

编排这里,有个 Import。不是导入 compose 文件,而是创建一个空编排模板,要手动复制进去编排文件

image

image

卷管理只有一个挂载点,看不出是什么容器在使用

image

posted @ 2025-09-05 02:15  lq2007  阅读(95)  评论(0)    收藏  举报