---
title: 懒人包一键升级：一条命令升级全部或指定 Docker 容器
description: 对比飞牛、绿联原生系统的 Docker 镜像升级方式，再介绍好用斋 Docker 懒人包新增的一键升级功能：填写脚本位置后生成四条命令，复制到终端即可批量更新所有容器，也可只升级指定的几个服务。
outline: deep
category: 教程
date: 2026-11-09
tags:
  - 懒人包
  - Docker
  - 一键升级
  - 飞牛
  - 绿联
readingTime: 5 分钟
---

# 懒人包一键升级：一条命令升级全部或指定 Docker 容器

> 📺 本图文教程由视频整理而成，对应的参考视频：[好用斋自定义懒人包～一键升级指定或全部docker容器～](https://www.bilibili.com/video/BV1pM9kBxEWG)。如需查看更详细、更具体的操作演示，可观看原视频。

> 场景：已经用[好用斋 Docker 懒人包](https://haoyongzhai.com/lazypack)装好一批容器，之后想批量更新镜像。飞牛这类系统只能逐个点升级，绿联有一键更新，而懒人包现在也能生成一条命令，把 Compose 目录下所有容器检查并升级一遍，还可以只升级指定的几个。

## 一、先看原生系统怎么做升级

**飞牛（fnOS）**：打开「Docker」→「本地镜像」，有新版本的镜像后面会显示「有新版本」，右侧出现升级箭头，点击即可单个更新。缺点是一次只能升级一个，没有一键升级所有镜像的入口。

**绿联**：打开「Docker 管理」→「容器」，可升级的容器右侧直接显示升级按钮；容器列表上方还有一个「一键更新」，能把所有可更新的容器一次性升级。这一项上绿联做得比飞牛更方便。

飞牛与绿联都是 Debian 底层，日常使用都很成熟，不必有偏见，只是 UI 功能取舍不同。

## 二、在懒人包页面生成升级命令

1. 打开[好用斋官网](https://haoyongzhai.com)，点击顶部「Docker 懒人包」。
2. 「NAS 系统」选择你的系统，这里以飞牛为例；「架构」保持默认 `x86_64`。
3. 「IP 地址」这一次**可以不填**——纯升级不涉及 IP。但如果你还要勾选容器、生成导航配置，则必须填写。
4. 「脚本位置」默认是 `/vol1/1000/compose/all`，这是上一期飞牛懒人包教程中使用的位置。你的 Compose 脚本放在别处时，在这里手动改成实际路径。
5. 点击「全部升级」，右侧命令面板立即出现四条命令。

<picture>
  <source type="image/avif" srcset="https://image.haoyongzhai.com/tutorials/544.懒人包一键升级/01-lazypack-upgrade.avif" />
  <source type="image/webp" srcset="https://image.haoyongzhai.com/tutorials/544.懒人包一键升级/01-lazypack-upgrade.webp" />
  <img src="https://image.haoyongzhai.com/tutorials/544.懒人包一键升级/01-lazypack-upgrade.png" alt="懒人包页面填写系统与脚本位置，点击「全部升级」后右侧生成四条升级命令" width="960" height="435" loading="lazy" />
</picture>

路径填错会直接导致后续命令执行失败，所以在点「全部升级」之前先核对一遍。

## 三、四条命令分别做什么

生成的命令形如：

```bash
cd /vol1/1000/compose/all && \
docker compose pull && \
docker compose up -d && \
docker image prune -f
```

1. `cd`：进入你填写的脚本位置，也就是存放全部 Compose 脚本的目录。
2. `docker compose pull`：拉取所有服务的最新镜像。
3. `docker compose up -d`：比对刚拉取的镜像与正在使用的镜像，发现更新就自动关闭该容器并用新镜像重建，没有更新的容器保持运行、不被打断。
4. `docker image prune -f`（可选）：删除被替换下来、标签变成 `none` 的旧镜像，释放磁盘空间。更新的容器较多时能省下不少空间，空间紧张就保留这一行。

> 注意：这里**没有** `docker compose down`。更新容器时它并不是必需的——`docker compose up -d` 自身会比对镜像并只重建有变化的容器，比先 down 再 up 更平滑，不会把所有服务一起中断。

## 四、复制命令并在终端执行

1. 点击命令面板下方的「复制内容」。
2. 打开飞牛终端，输入 `sudo -i` 回车，再输入管理员密码。**输入密码时屏幕不显示字符**，输完直接回车。
3. 提示符从 `haoyong@...` 变成 `root@...`，说明已获得管理员权限。
4. 在终端内右键粘贴刚复制的四条命令，回车执行。

拉取过程中可以直接看状态：显示 `pulling` 表示正在拉取新镜像，显示 `pulled` 表示该镜像已是最新、无需更新。全部拉取完毕后会自动重建有更新的容器，升级即完成。

> 提示：镜像较多时拉取耗时较长，中途不要关闭终端。只要这条命令跑完，所有容器就都检查并升级过了。

## 五、只升级指定的容器

不想全量升级时，在「全部升级」右侧的「输入服务名称」框里填写服务名即可。

1. 服务名不是容器名。打开对应的 Compose 脚本可以看到两个名字：`jellyfin:` 冒号前的是**服务名**，下面 `container_name` 才是容器名，这里要用前者。
2. 输入 `jellyfin` 后，右侧命令中的 `pull` 和 `up -d` 后面会自动追加该服务名：

```bash
cd /vol1/1000/compose/all && \
docker compose pull jellyfin && \
docker compose up -d jellyfin && \
docker image prune -f
```

3. 需要同时升级多个时，用空格分隔，例如输入 `jellyfin emby`，命令就会只处理这两个服务：

```bash
docker compose pull jellyfin emby
docker compose up -d jellyfin emby
```

4. 复制命令，回到终端右键粘贴、回车。输出里只会拉取这两个镜像；若它们本来没有更新，容器继续以 `running` 状态运行，旧镜像也不会被删除（释放空间显示 `0B`）。

<picture>
  <source type="image/avif" srcset="https://image.haoyongzhai.com/tutorials/544.懒人包一键升级/02-service-upgrade.avif" />
  <source type="image/webp" srcset="https://image.haoyongzhai.com/tutorials/544.懒人包一键升级/02-service-upgrade.webp" />
  <img src="https://image.haoyongzhai.com/tutorials/544.懒人包一键升级/02-service-upgrade.png" alt="在服务名称框输入 jellyfin 后，右侧命令自动追加该服务名" width="960" height="435" loading="lazy" />
</picture>

想恢复为全量升级，把服务名称框清空即可。

## 总结

1. 飞牛只能在「本地镜像」里逐个升级；绿联在「容器」页提供一键更新。
2. 懒人包页面选好系统与脚本位置，点击「全部升级」即可生成四条命令。
3. 四条命令依次是进入目录、拉取镜像、重建有更新的容器、删除旧镜像（可选），不需要 `docker compose down`。
4. 终端 `sudo -i` 提权后粘贴执行，`pulling` / `pulled` 可判断哪些镜像有更新。
5. 只升级部分容器时，在服务名称框填写服务名（不是容器名），多个用空格分隔。

## 参考视频

[好用斋自定义懒人包～一键升级指定或全部docker容器～](https://www.bilibili.com/video/BV1pM9kBxEWG)

## 好用斋官网

[https://haoyongzhai.com](https://haoyongzhai.com)
