NAS神器!一键转换docker为compose文件,小白也能用!极空间部署

2025-04-28 10:16:48 63点赞 662收藏 51评论

大家好,这里是Cherry,喜爱折腾、玩数码,热衷于分享自己的数码玩耍经验~

前言

极空间Q1的更新不可谓不惊喜,在数十项更新功能中,我个人最期待和喜欢的就是docker compose的功能了。毕竟作为一个github搬运工,原来的纯docker界面在部署一些复杂项目的时候会特别麻烦,而现在有了docker compose之后,一段代码就可以无脑部署,简单又高效。

今天,借极空间这次更新的东风,我也来讲一讲 compose 和 docker cli的差异,以及为什么我们推荐使用compose。

其次,很多人部署了现有的docker不知道怎么迁移。所以,我写了一个迁移小工具,帮助大家把存量的docker转换为compose模板,方便统一管理。

⭐项目地址:https://github.com/coracoo/docker2compose

NAS神器!一键转换docker为compose文件,小白也能用!极空间部署

一、为什么推荐使用compose?

docker compose 是 docker 的一个插件,用于定义、管理、运维多个docker容器。

NAS神器!一键转换docker为compose文件,小白也能用!极空间部署

相比于单独使用docker,使用compose有如下三个优势:

1️⃣管理更简单:所有容器的定义、运行都可以通过文本记录在册,通过修改yml配置文件可以轻松的更改和管理这些容器。

2️⃣运维更方便:所有容器的配置,例如卷、镜像、网络都在yml配置文件里,无论何时,我都可以在yml文件和数据卷的合作下,轻松重启我的docker容器而不用担心容器丢失。

3️⃣容器更安全:compose的容器间访问,默认是互联互通,通过hostname的使用,可以让容器不暴露端口的情况下被同个项目下的容器所访问,大大提高了安全性。


二、极空间compose详解

新版本的docker,增加了一个compose的标签页,在这里我们可以看到所有的compose项目。包括项目名称、状态、包含容器等信息。

NAS神器!一键转换docker为compose文件,小白也能用!极空间部署

想要创建一个compose项目,我们必须获取docker-compose.yaml这个文件,常见的docker-compose.yaml获取方式有:1️⃣项目官方提供2️⃣任意网友分享3️⃣自行转换

这里主要来说一下第3️⃣种自行转换,登录网站www.composerize.com,把我们常用的docker cli填入,网页就会自动生成一个yaml格式的文件。

NAS神器!一键转换docker为compose文件,小白也能用!极空间部署

将yaml文件填入下方的空白区域后,点击创建就可以完成一键部署。

NAS神器!一键转换docker为compose文件,小白也能用!极空间部署

当然,目前极空间的compose还是有一些小缺陷的,这和极空间一直缺少的容器卷管理有关。一旦我们使用容器卷作为存储路径映射时,系统就会报错无法使用,所以大家要记得将volume切换为bind模式哦~

NAS神器!一键转换docker为compose文件,小白也能用!极空间部署

三、docker一键导出compose

1、部署d2c容器

下面,我们实操创建一个我写的docker 2 compose这个容器工具,将极空间内存量的docker转换为docker-compose.yaml,然后重新导入,实现docker的统一管理。

🔻docker-compose.yaml

services:

d2c:

image: crpi-xg6dfmt5h2etc7hg.cn-hangzhou.personal.cr.aliyuncs.com/cherry4nas/d2c:latest

container_name: d2c

volumes:

- /var/run/docker.sock:/var/run/docker.sock:ro

- /【tmp/zfsv3/sata14/XXX/data/docker/d2c/compose】:/app/compose

首先把yaml代码复制到创建项目的yaml栏中。

NAS神器!一键转换docker为compose文件,小白也能用!极空间部署

接着,点击上方的查询路径按钮。

NAS神器!一键转换docker为compose文件,小白也能用!极空间部署

新建或者找到一个用来保存yaml文件的路径,等会容器会在这里生成所有存量docker的yaml文件。选好之后,点击右下角的复制路径。

NAS神器!一键转换docker为compose文件,小白也能用!极空间部署

将复制出来的路径,替换红框内的这一段文字。注意,冒号右侧的【/app/compose】不要替换,然后点击创建。

NAS神器!一键转换docker为compose文件,小白也能用!极空间部署

极空间就会自动下载对应的容器镜像了,耐心等待compose部署完成。

NAS神器!一键转换docker为compose文件,小白也能用!极空间部署

之后,容器会自动获取极空间内所有的docker、network信息,并且根据网络组合,生成不同的yaml文件。

NAS神器!一键转换docker为compose文件,小白也能用!极空间部署

在极空间的个人空间里,可以看到导出的yaml文件,每一个都是按照容器名称来导出的,很直观。

NAS神器!一键转换docker为compose文件,小白也能用!极空间部署

2、重新部署容器

接下来,我们就要将容器以compose的方式重新部署一遍,在部署之前,我们需要确保所有的存量docker都是停止状态。

打开新建项目——导入——从本地导入

NAS神器!一键转换docker为compose文件,小白也能用!极空间部署

选择刚才导出的yaml文件导入。

NAS神器!一键转换docker为compose文件,小白也能用!极空间部署

在新的yaml文件里,除了容器名称、镜像、卷、网络、端口、环境变量等基本参数外,我还将极空间的特权模式、显卡能力、能力也一并添加进来。 部分功能因为目前极空间的compose功能不支持,所以没有加。

NAS神器!一键转换docker为compose文件,小白也能用!极空间部署

⭐重点来了!为了确保原先容器的安全,强烈建议大家在container_name这里,修改一下容器的名称,确保和原先的容器不冲突。

NAS神器!一键转换docker为compose文件,小白也能用!极空间部署

然后大家创建几个完成以后,测试一下容器有没有问题,没问题,那么就可以把原来单独部署的容器删掉,改用compose部署的容器了。

NAS神器!一键转换docker为compose文件,小白也能用!极空间部署

如果要修改容器信息,也很简单。来到具体compose项目页面,修改代码、保存、重新构建一步到位。

NAS神器!一键转换docker为compose文件,小白也能用!极空间部署

总结

对于本次极空间上架的全新compose功能,大家还喜欢吗?如果还在犹豫是否切换到compose,但是被迁移所困扰的朋友,可以尝试一下我利用 AI 开发的这款小工具,帮大家实现0烦恼快速迁移。

截至目前,几乎所有的NAS系统都支持了docker compose的使用,这意味着未来各大主流UP,将compose作为容器部署的方法,也会越来越普及。所以趁着现在,赶紧上手试用一下吧!

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
51评论

  • 精彩
  • 最新
  • 置顶 NAS迁移,docker迁移不用愁,docker一键转换为compose.yaml,实现永久管理

    校验提示文案

    提交
  • 这个需要手动能力太强了,玩不来啊。

    校验提示文案

    提交
    不难 [脸红] 一切交给AI

    校验提示文案

    提交
    收起所有回复
  • 除了极空间。其他品牌有更新相同的功能吗?

    校验提示文案

    提交
    都可以用,自己写的代码 通用哈哈

    校验提示文案

    提交
    收起所有回复
  • 感觉学到了许多知识,赶紧自己去试试

    校验提示文案

    提交
    AI时代,什么事情只要吩咐一下 ai就会去做了

    校验提示文案

    提交
    收起所有回复
  • 群晖7.1不支持compose,怎样破?

    校验提示文案

    提交
    ssh 安装 docker-compose插件。

    校验提示文案

    提交
    收起所有回复
  • 飞牛的也是一样的使用方法嘛?

    校验提示文案

    提交
    是的 路径换一下就可以

    校验提示文案

    提交
    收起所有回复
  • 我还以为是把现有容器自动整理为一个compose

    校验提示文案

    提交
    一个compose也行啊,你要我给你改改,但是没必要啊。一个compose太乱了

    校验提示文案

    提交
    收起所有回复
  • 极空间真的越来越强了,好用才是硬道理

    校验提示文案

    提交
    确实,极空间近期更新强大

    校验提示文案

    提交
    收起所有回复
  • 隔壁老版绿联4600可以用这个工具先生成yaml ,再升级ugos pro吗?

    校验提示文案

    提交
    可以,记得把文件文件拷贝出来

    校验提示文案

    提交
    收起所有回复
  • 蹲一个群晖迁移到飞牛的教程 [傻笑]

    校验提示文案

    提交
    直接导出,改下路径导入就行了 简单

    校验提示文案

    提交
    是说群晖的硬盘插入飞牛可以直接用么?

    校验提示文案

    提交
    收起所有回复
  • 厉害啊,nas必备了 刚好迁移用得上

    校验提示文案

    提交
    迁移记得把文件也复制好

    校验提示文案

    提交
    收起所有回复
  • 是不是也要先下载好镜像文件,再用compose部署?

    校验提示文案

    提交
    不同,国内镜像源,直接部署就行了

    校验提示文案

    提交
    黑群晖是一样操作吗?

    校验提示文案

    提交
    收起所有回复
  • volume切换为bind模式在哪切换啊

    校验提示文案

    提交
    这个只能自己手动处理,切换的话要用我之前介绍的另外一款备份工具,把数据线备份出来。 再bind

    校验提示文案

    提交
    收起所有回复
  • 导出的容器配置不全

    校验提示文案

    提交
    哪些?我看看加上去

    校验提示文案

    提交
    收起所有回复
  • 请问有试过用这种方法迁移mp不?好像直接就会构建失败哇

    校验提示文案

    提交
    哪里报错?我可以去看看改掉

    校验提示文案

    提交
    点部署以后,弹出构建失败,显示f"task":"1750178108492287218", "type": "status", "value": "failed"

    校验提示文案

    提交
    还有4条回复
    收起所有回复
  • 最近正好换nas,从威联通到极空间。这样的话应该修改下映射的文件夹就好了吧

    校验提示文案

    提交
    是的

    校验提示文案

    提交
    收起所有回复
  • 小cherry可以写一篇及空间直接可以用的immich的compose嘛 [脸红]

    校验提示文案

    提交
    之前发过一篇,把路径改一下就行。

    校验提示文案

    提交
    收起所有回复
  • 感谢教程,学习了,我也打算入手个NAS存储照片了

    校验提示文案

    提交
  • 没有compose是没有灵魂的docker啊

    校验提示文案

    提交
  • 威联通可以运行,但没获取到.yaml

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
662
扫一下,分享更方便,购买更轻松