在日常服务器运维中,Docker 容器管理是最核心的操作之一。无论是重启服务、更新镜像,还是排查应用故障,掌握一套标准化的命令流程能极大提高效率。

本文整理了基于 Docker Compose 的常用管理命令、1Panel 环境下的应用路径以及一些进阶运维小技巧。


🌀 一、容器基础管理

如果你使用 Docker Compose 管理项目(推荐方式),以下命令是你的“家常便饭”。

1. 重启容器 vs 重建容器

很多新手分不清 restartup -d 的区别,这里划重点:

命令 适用场景 效果
docker compose restart 进程卡死、常规重启 仅重启当前容器,不加载配置变更。
docker compose up -d 修改了 YAML、更新了镜像 重建容器,应用最新的环境变量和映射。

🔁 二、镜像更新全流程

当远程镜像发布新版本(如 MoviePilot 或 Jellyfin 更新)时,建议遵循以下标准步骤,既能保证更新,又能节省空间:

  1. 拉取最新镜像docker compose pull
  2. 应用并重启docker compose up -d
  3. 清理冗余数据
    更新后,旧镜像会变成虚悬镜像(显示为 <none>),长期不清理会吃掉几十 GB 的磁盘。
    1
    docker image prune -f

🛠️ 三、单个容器的精准操控

如果你只想操作某个特定应用(如 nezha-dashboard),而不想影响同目录下的其他服务,请直接调用 Docker 原生命令:

  • 停止docker stop <容器名>
  • 启动docker start <容器名>
  • 查看实时日志docker logs -f --tail 100 <容器名>
  • 进入容器内部docker exec -it <容器名> sh (或 bash)

📂 四、常用本地应用路径 (1Panel 环境)

在 1Panel 面板管理的服务器中,应用数据通常存放于以下路径。手动修改配置或迁移数据时,直接定位到这些目录即可:

  • 🎥 媒体类:
    • /opt/1panel/apps/local/moviepilot/moviepilot
    • /opt/1panel/apps/jellyfin/jellyfin
    • /opt/1panel/apps/local/emby-amilys/emby-amilys
  • ⚙️ 自动化类:
    • /opt/1panel/apps/local/vertex/localvertex
    • /opt/1panel/apps/local/autobangumi/autobangumi

⚠️ 运维小技巧与避坑指南

1. 打造清晰的监控视图

默认的 docker ps 信息太乱?试试这个精简格式:

1
docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"

2. 容器“无限重启”排查

如果容器状态显示 RestartingExited (1),不要盲目重启,先看报错:

1
docker logs --tail 50 <容器名>

通常是由于配置文件路径挂载错误或端口冲突导致。

3. 让更新自动化:Watchtower

如果你懒得手动执行 pull 操作,可以部署 Watchtower。它会每隔 24 小时自动检查并更新所有容器:

1
docker run -d --name watchtower -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --cleanup --interval 86400

🎉 总结

熟练掌握 Docker Compose 的生命周期管理,不仅能让你的 HomeLab 运行得更稳,也能在服务出现异常时快速定位问题。

建议: 即使使用了 1Panel 等面板,也建议多尝试 SSH 命令行操作。图形化界面虽然方便,但命令行能让你在网络环境极差、面板打不开的极端情况下依然拥有对服务器的绝对掌控权。


网站由 Polarisiu © 2026使用 Stellar 主题创建

总访问次 · 总访客人 · 本页访问
已发布博客8篇 · 总计5.9k字

全部都是博主用心学编写的啊!不是ai啊 只要保留原作者姓名并在基于原作创作的新作品适用同类型的许可协议,即可基于非商业目的对原作重新编排、改编或者再创作。

:YOURNAME