Docker生态工具:Watchtower、slim、ctop、Kitematic、Shipyard、DockerUI、docker-gc、Dockhand、Dry
Docker生态工具管理、可视化系列文章Docker生态工具Watchtower、slim、ctop、KitematicDocker生态工具Portainer、LazyDocker、Dockge、App2DockerDocker生态Arcane、Dockly、Docker-Socket-Proxy、Dockman、DockDash、ServedashWatchtower项目主页即官方文档Go语言实现、轻量级、开源GitHub24.7K Star1.1K Fork容器管理工具专门用于Docker容器镜像的更新自动化。不过代码库已于25年12月17日归档。Watchtower监视容器运行过程能够捕捉到容器中的变化当检测到有镜像发生变化会自动使用新镜像重启容器。本身就是Docker镜像启动容器的方式和别的镜像无异。原理在「指定时间」连接到远程Docker镜像仓库如Docker Hub或私有镜像库检查当前运行的容器是否有镜像更新发现镜像更新就自动拉取最新版本并基于初始部署时所使用的参数优雅地关闭并重建对应的容器默认每隔24小时86400秒检查一次也可根据需要通过WATCHTOWER_POLL_INTERVAL或WATCHTOWER_SCHEDULE环境变量调整检测频率还支持自定义定时策略、滚动更新和通知推送等丰富功能灵活配置自动更新流程满足多样化的场景需求。核心优势自动清道夫模式清理匿名卷--remove-volumes删除废弃镜像--cleanup回收存储空间避免硬盘被撑爆灵活更新策略全自动模式24小时轮询检测手动模式--run-once执行单次更新指定更新精准控制需要更新的容器状态感知能力支持更新停止状态的容器--include-stopped更新后自动启动--revive-stopped自定义检测间隔秒--interval 600实时通知系统支持Gotify、Slack、邮件等通知渠道更新动态尽在掌握不建议在商业或生产环境中使用。开启一个容器用Watchtower来监控docker run -p 4000:80 --name container_name image_name:latest会开始监控指定的容器可分析得到image来源于哪个registry检测是否有新镜像。检测到新镜像则会关掉容器然后用新镜像重启容器。容器会在4000:80公共端口选项上开启。默认情况下轮询Dockder Hub注册表查找更新的镜像。可通过在环境变量REPO_USER和REPO_PASS中添加指定注册表证书来设置轮询私有注册表。实战使用Docker快速部署dockerrun-d\--namewatchtower\--restartalways\-eTZAsia/Shanghai\-eWATCHTOWER_POLL_INTERVAL21600\-eWATCHTOWER_SCHEDULE0 0 4 * * *\-eWATCHTOWER_CLEANUPtrue\-v/var/run/docker.sock:/var/run/docker.sock\containrrr/watchtower解读/var/run/docker.sock主要用来使Watchtower与Docker后台API交互配合定时任务时建议设置时区确保检测时间与本地时间保持一致WATCHTOWER_POLL_INTERVAL用来定义Watchtower的轮询间隔时间单位秒WATCHTOWER_SCHEDULE通过Cron表达式指定时间点WATCHTOWER_POLL_INTERVAL和WATCHTOWER_SCHEDULE选择一个即可WATCHTOWER_CLEANUP设置为true在容器切换到新镜像后自动清理旧版悬空镜像当然也支持基于Docker Compose部署version:3services:watchtower:image:containrrr/watchtowervolumes:-/var/run/docker.sock:/var/run/docker.sockslim开源GitHub23.3K Star832 Fork镜像瘦身工具可通过静态和动态分析。在GitHub Release下载二进制文件添加到路径PATH即可使用。命令docker-slim build --http-probe image_name即可对镜像进行分析进行压缩。实战ctop官网开源GitHub17.8K Star589 Fork容器界面工具可为多个容器提供实时显示的数据视图。实战Mac安装brew install ctop安装后配置DOCKER_HOST环境变量即可使用。运行ctop命令可查看所有容器的状态。运行ctop -a命令仅查看当前运行的容器。KitematicJavaScriptLess实现、开源GitHub12.1K Star1.4K ForkDocker GUI。不过代码库已于25年7月18日归档GitHub页面提供的官网链接跳转到Docker官网官方也建议直接使用Docker Desktop。实战Shipyard官网一个基于Web的开源GitHub6.3K Star882 ForkDocker管理工具支持多host可把多个Docker host上的containers统一管理可查看、构建images提供RESTful API等。不过代码库已于24年2月27日归档、并删库实战安装curl -s https://shipyard-project.com/deploy | bash -s展示所有参数curl -s https://shipyard-project.com/deploy | bash -s -- -h浏览器访问http://localhost:8080输入账号/密码admin/shipyard即可开始体验。Docker UIJavaScriptHTML实现、开源GitHub5.1K Star675 Fork代码库已不再维护最后一次提交是16年12月4日已是10年前。实战基于Docker快速部署体验dockerrun-d-p9000:9000--privileged-v/var/run/docker.sock:/var/run/docker.sock uifd/ui-for-dockerDocker-GC开源GitHub5K Star437 Fork项目用于清理不需要的容器和镜像可删除存在一小时以上的容器、没有容器的镜像也可被当做脚本也可被视为容器。不过项目库已于21年2月2日归档。实战容器方法运行docker run --rm -v /var/run/docker.sock:/var/run/docker.sock -e DRY_RUN1 spotify/docker-gc安装Docker socket文件以便和Docker API进行交互。设置环境变量DRY_RUN1用于删除前的确认。Dockhand官网开源GitHub4.9K Star181 Fork现代化、高效的Docker管理应用程序提供实时容器管理、Compose堆栈编排和多环境支持。所有功能都集成在一个轻量级、安全且注重隐私的软件包中。可帮助用户通过Web界面直观地管理和监控Docker容器简化容器作、堆栈部署和可观察性。特点容器管理实时启动、停止、重启和监控容器Compose StacksDocker Compose部署的可视化编辑器Git集成通过Webhook和自动同步从Git仓库部署堆栈多环境管理管理本地和远程Docker主机终端和日志交互式shell访问和实时日志流文件浏览器浏览、上传和下载容器中的文件身份验证通过OIDC实现SSO、本地用户以及可选的RBAC企业级实战基于Docker安装dockerrun-d\--restartunless-stopped\--namedockhand\-p3424:3000\-v/var/run/docker.sock:/var/run/docker.sock\-v$(pwd)/data:/app/data\fnsys/dockhand:latest注意事项Docker Socket权限需要确保运行Dockhand的用户有权限访问/var/run/docker.sock否则无法管理容器数据持久化数据存储在/app/data目录升级前建议先备份数据卷Watchtower上面提到containrrr/watchtower已归档停止维护搜索资料时发现又有一个同名nicholas-fedor/watchtower开源GitHub4.3K Star71 Fork项目也是纯Go实现两者看起来没有关联。Dry项目主页开源GitHub3.3K Star101 Fork、管理并监控Docker容器和镜像的命令行工具与Docker官方自带的命令行工具相比Dry提供交互式操作界面。可更方便和直观的管理容器相关的信息包括对应镜像、容器名称、网络、容器中运行的命令及容器状态。运行在Docker Swarm中的Dry进程还会给出Swarm集群的各种状态信息。不仅可管理本地Docker守护进程也可管理远程的Docker守护进程。前者Docker主机显示为unix:///var/run/docker.sock后者Docker主机显示为tcp://IP Address:Port Number或tcp://Host Name:Port Number。实战安装# 使用预编译的二进制包安装curl-sSfhttps://moncho.github.io/dry/dryup.sh|sudoshsudochmod755/usr/local/bin/dry# mac下可使用brew进行安装Arch Linux下可使用yaourt进行安装命令行下输入dry命令便可启动一个Dry进程默认连接本地Docker守护进程默认运行界面会显示容器的一些基本信息与docker ps命令相比体验更加友好。监控容器运行界面中按下m键即可打开监控模式与docker stats相比更详细彩色输出NAME列方便区分容器管理容器选中容器回车提供查看日志、查看/杀死/删除容器、停止/启动/重启容器、查看容器状态及镜像历史记录等操作查看全部容器F2键即可列出全部容器包括运行中和已关闭的容器监控容器资源利用率点击StatsTop选项查看指定容器的资源利用率或快捷键s来打开容器资源利用率界面查看容器、镜像及本地卷的磁盘使用情况F8键即可查看容器、镜像及本地卷的磁盘使用情况。该界面明确地给出容器、镜像和卷的总数哪些处于使用状态以及整体磁盘使用情况、可回收空间大小的详细信息。管理镜像2键即可列出全部的已下载镜像。删除镜像使用快捷键CtrlE强制删除使用CtrlF查看Docker网络列表按下3键即可查看全部网络及网关其它操作按F1键对列表项目进行排序支持Docker的Services、Stacks管理按下5键或6键切换到相应管理界面。

相关新闻

mysql的自我总结

mysql的自我总结

什么Mysql的底层索引要用BTree 那就要先说二叉树 : 二叉树以第一个插入的数据作为根节点,假设特定情况他就变成了一个单项链表,查询效率极慢。 其次就是平衡二叉树 平衡二叉树在数据量大的情况下,树会很高,那么我们的检索效率还是不高。 然后…

2026/8/25 7:42:27 阅读更多 →
memcpy深度解析:从内存安全到ARM NEON性能优化实战

memcpy深度解析:从内存安全到ARM NEON性能优化实战

1. 项目概述:一次由memcpy引发的深度排障之旅在嵌入式开发和底层系统编程的世界里,memcpy这个函数就像空气一样无处不在,却又常常被我们习以为常地忽略。它负责将一块内存区域的数据复制到另一块区域,看似简单直接,以至…

2026/8/25 7:42:27 阅读更多 →
C语言基础:求结构体数组中的最大值并按序输出

C语言基础:求结构体数组中的最大值并按序输出

C语言基础&#xff1a;求结构体数组成员列表中的成绩最大值并按序输出 1. 用结构体数组进行传参 例1&#xff1a; #include "stdafx.h" #include <stdio.h> #define member 5//成员数 #define NAME_LEN 20//姓名最大长度struct st { int id;char name[NAME…

2026/8/25 7:42:27 阅读更多 →

最新新闻

爬虫如何绕过TLS/JA3/HTTP2指纹检测:curl_cffi实战指南

爬虫如何绕过TLS/JA3/HTTP2指纹检测:curl_cffi实战指南

1. 项目概述&#xff1a;当爬虫遇上“指纹”墙 最近在折腾一个数据采集项目时&#xff0c;我遇到了一个典型的现代反爬虫壁垒&#xff1a;请求被精准识别并拦截。服务器不再仅仅检查你的User-Agent或者IP频率&#xff0c;它开始像侦探一样&#xff0c;检查你握手时留下的“指纹…

2026/8/26 9:59:48 阅读更多 →
基于OpenClaw与Ralph Loop的MCP Server自动化开发实践

基于OpenClaw与Ralph Loop的MCP Server自动化开发实践

1. 项目缘起&#xff1a;当“自动化开发”遇上“MCP Server”最近在折腾一个挺有意思的东西&#xff0c;想和大家分享一下。起因是我们团队内部有几个高频使用的内部工具和API&#xff0c;每次开发新功能或者排查问题&#xff0c;都得去翻一堆文档&#xff0c;或者写一些重复的…

2026/8/26 9:59:48 阅读更多 →
LoRA微调技术详解:低秩自适应原理、实战与避坑指南

LoRA微调技术详解:低秩自适应原理、实战与避坑指南

1. 项目概述&#xff1a;为什么我们需要LoRA&#xff1f; 如果你最近在折腾大模型&#xff0c;无论是想让它帮你写代码、画图&#xff0c;还是回答专业问题&#xff0c;大概率都听过一个词&#xff1a;微调。简单说&#xff0c;微调就是给一个已经“学富五车”的通用大模型“开…

2026/8/26 9:59:48 阅读更多 →
嵌入式计算新趋势:从MCU到异构SoC与边缘AI

嵌入式计算新趋势:从MCU到异构SoC与边缘AI

1. 从“控制盒子”到“边缘大脑”&#xff1a;嵌入式计算的能力边界正在重写 两三年前参加项目交流时&#xff0c;还经常听到一种判断&#xff1a;嵌入式计算嘛&#xff0c;就是单片机加传感器&#xff0c;把逻辑写稳、把功耗压住&#xff0c;剩下的交给云端。这话放在十年前完…

2026/8/26 9:59:48 阅读更多 →
动态表单系统设计:从元数据驱动到生产实践全解析

动态表单系统设计:从元数据驱动到生产实践全解析

1. 项目概述&#xff1a;为什么动态表单是绕不开的“硬骨头”做过后端开发或者复杂业务系统前端的朋友&#xff0c;对“动态表单”这个词一定不陌生。它不像一个具体的功能按钮&#xff0c;点一下就有反应&#xff0c;而更像一个隐藏在系统深处的“基础设施”。业务方今天说要加…

2026/8/26 9:59:48 阅读更多 →
大模型Agent可观测性实践:从黑盒炼丹到白盒炼钢

大模型Agent可观测性实践:从黑盒炼丹到白盒炼钢

1. 从“炼丹”到“炼钢”&#xff1a;为什么大模型Agent需要可观测性最近跟几个做AI应用落地的朋友聊天&#xff0c;大家聊起大模型Agent&#xff0c;都感觉像在“炼丹”。模型选型、Prompt调优、工具调用&#xff0c;每个环节都充满了不确定性。好不容易在测试环境跑通了&…

2026/8/26 9:58:43 阅读更多 →

日新闻

Python random 模块常用函数详解:从入门到实战

Python random 模块常用函数详解:从入门到实战

目录 1. 引言2. 准备工作3. 基础随机函数4. 序列相关函数5. 随机种子与复现6. 实战案例7. 注意事项8. 常见问题与排查9. 总结 1. 引言 摘要&#xff1a; 本文系统介绍 Python 标准库 random 模块中最常用的随机数生成函数。内容涵盖基础随机函数&#xff08;random()、unifor…

2026/8/26 0:00:40 阅读更多 →
《Microsoft Sql server 2008 Internals》读书笔记--第三章Databases and Database Files(2)

《Microsoft Sql server 2008 Internals》读书笔记--第三章Databases and Database Files(2)

《Microsoft Sql server 2008 Internals》索引目录&#xff1a; 《Microsoft Sql server 2008 Internals》读书笔记--目录索引 在上篇文章中&#xff0c;主要介绍了创建数据库的基本语法和FileGroup的初步知识。需要注意的是: 关于FileGroup 如果你的系统是用Raid设备直接存…

2026/8/26 1:18:18 阅读更多 →
政务AI智能体怎么建?三种模式、三步路径与四个误区

政务AI智能体怎么建?三种模式、三步路径与四个误区

政务AI智能体已经从概念试点阶段&#xff0c;转入了政务服务的常态化落地应用&#xff1b;在实际使用过程中&#xff0c;它能自主理解办事需求、辅助完成填报申报、开展材料预审&#xff0c;并联动多个系统协同作业&#xff0c;真正嵌入到政务办理的全流程当中。但在落地推进过…

2026/8/26 1:18:18 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态&#xff0c;宏观上观察到的光是由无数个微观的光量子组成的&#xff0c;每个光子在产生的瞬间&#xff0c;其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前&#xff0c;在微观层面&#xff0c;每个光量子的运动轨迹是以波函数所展现…

2026/8/25 3:38:12 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”&#xff0c;而是SIP会话的动态重定向你有没有遇到过这样的场景&#xff1a;客服坐席A正在和客户通电话&#xff0c;突然需要把这通对话无缝转给专家坐席B&#xff0c;客户完全感知不到中间的断连——既没听到忙音&#xff0c;也没被要求重新拨号…

2026/8/25 3:38:18 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack&#xff1f;如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法&#xff0c;那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/25 3:38:23 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速&#xff1a;macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/26 3:50:20 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南&#xff1a;3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗&#xff1f;ncmdump解密工具帮你轻松解决这个困…

2026/8/25 10:31:12 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片&#xff1a;为英语学习 App 打造桌面级学习助手适用平台&#xff1a;HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0&#xff08;API 26 Beta&#xff09;新增了 AgentCard 智能体卡片能力&#xff0c;这是继 HMAF&#xff08;鸿蒙智能体框架&#x…

2026/8/26 1:24:05 阅读更多 →