Py学习  »  docker

外测Docker重构,解决4个痛点,好用度翻倍!

极空间私有云 • 3 月前 • 197 次点击  

各位极友,我是小极君~

以前在极空间上玩 Docker,总有一些小烦恼:路径太长、.env 文件不好配、yaml 藏得深、容器一多就找不到……

这次真不一样了——Docker 应用全新重构,外测版本功能抢先看,正式版请耐心等待升级推送~

支持相对路径、.env 环境文件、yaml 可视化编辑、容器筛选排序……用作者的话说:“好用程度直接翻倍。”

如果你也是 Docker 重度用户,这篇来自@可爱的小cherry 的极空间Docker外测新玩法详解,值得你从头看到尾。👇

上一次如此让我兴奋的时候,是极空间支持了 docker compose。

大家也知道我是一个极空间重度用户,因为离不开它的极影视、极相册,所以连带着玩耍 docker 也基本都是在极空间中进行。

但是我们实话实说,极空间的 docker 应用不能算很好用,有一些细节还是欠打磨的。

但是这次升级的外测版本,整个 docker 几乎全部重构了,好用程度我觉得可以说直接翻倍。

具体更新了哪些,我先汇总给大家说说:

1️⃣ 重构部署路径,无需电话号码,支持相对路径

2️⃣ compose 支持 .env 环境文件

3️⃣ compose 支持 .yml 配置文件保存与可视化编辑

4️⃣ 容器支持搜索、排序、筛选


一、路径重构

极空间的路径问题,对很多 docker 玩法来说会有一点头痛。

路径实在太长了。

新版本的 docker,对路径进行了全面的重构。

查询路径功能依旧保留,在此基础上新增了一个【存储位置】。

QQ_1774452829886.png

选定存储位置后,当前 compose 项目所有的路径都将以这个路径为根目录。

QQ_1774453000349.png

换句话说,极空间现在支持**相对路径(./文件夹)**的使用。

这个模式下,不仅更方便我们部署 compose 项目,未来涉及到 docker 服务迁移的时候,也不需要去修改路径,便捷度也大幅度提升了。

QQ_1774453120776.png

这里极空间还有一个比较巧妙的逻辑。

它将 compose 项目的名字和文件路径进行了剥离。

项目名称严格遵守 docker 规范,只允许使用大小写字母、数字、特定字符。

但是存储根目录却支持任意文字,解决了传统 compose 部署下文件夹名称对项目名称的强依赖。

QQ_1774453396931.png

我们平常管理的时候终于不用对着一堆英文名字发愁,对小白用户相当的友好。

QQ_1774453605546.png

二、支持 .env

如果大家仔细看图,可能就发现了我刚才展示的 yaml 文件中有一串 dotenv 的环境变量。

新版本的 docker 应用,在 compose 界面里增加了对 .env 文件的支持。

除了可以在项目部署页面编辑 yaml/yml 文件外,现在也可以直接导入、添加 .env 文件。

无论是配置、修改环境变量,或者是引用 env 文件,效率都大大提升。

原本很复杂需要配置 .env 文件的项目,现在也可以直接部署,github 上怎么样展示,用起来就怎么样。

QQ_1774453282434.png

想要管理 .env 文件也很方便。在极空间的文件管理中点击下方的设置按钮,勾选显示隐藏文件/文件夹。

QQ_1774453316301.png

在极空间里,大部分文本都可以通过文本编辑器直接打开,compose 项目也可以直接编辑 .env 文件。

QQ_1774453881206.png

三、yaml 文件更直观

除了 .env 文件外,新版本里 yaml 文件的管理也更方便了。

在之前,极空间的 yaml 文件藏在官方服务的文件夹下,想要修改只能通过 docker 页面进行处理。

虽然安全,但是不方便。

新版本下,compose 项目对应的 yaml 文件终于被直接保存在项目根目录下了,统一命名为 docker-compose.yml

这一点其实就是我们前面提到的路径重构带来的便利。

无论是 env 还是 yaml,在项目路径固定后,都可以更精准的对应 compose 。

QQ_1774454012358.png

在我们日常编辑 compose 配置文件的时候,一旦 yaml 文件发生了更改,系统会予以提醒,确保部署、本地文件的一致性。

QQ_1774454056869.png

四、容器筛选框

最最最直观,也是实用的一个功能。

筛选框它终于上线了。

对于一台 NAS 部署了 40 多个容器的我来说,是真的很不容易。

以往找项目必须按照部署时间、名字顺序来找。

现在终于可以通过关键词搜索,还可以通过名称、创建时间、状态来自定义排序。

这个功能虽然细节,但是真的需求很强烈,期待后续 compose、镜像也跟进。

QQ_1774454264784.png

五、其它功能

当然,还有一些其它的细节功能。

比如呼声很大的容器自动启停。

docker compose 项目,现在可以设置定时启动容器,支持日期+时间的定时任务。

这样一些不常用,但是特异功能性很强的容器,比如镜像更新就不会长期占用内存和cpu~

QQ_1775182594159.png

然后还有一个容器 cpu 计算的调优,支持 docker 原生标准模式以及 100% 模式。

像我这样有点强迫症的,果然选择了 100% 模式,可以看到更直接的占用。

QQ_1775182802988.png

六、如何迁移

将来大家更新新版本以后,需要将原来的 compose 迁移到新版本之下。

这里我的建议是这样:

  • • 如果当前的 compose 项目不再需要变更配置的,那么可以不迁移,继续沿用老模式。
  • • 如果是一个长期变化,或者本身有迁移需求的,则可以手动进行迁移。

新版本更新后, 在任意一个 compose 项目下,可以查看原来的 compose 配置文件。这个时候不允许修改,但是可以复制。

QQ_1774489532762.png

全部复制这个 yaml 文件,然后去将这个 compose 暂停,接着重新创建一个 compose 项目。

新的项目名称可以增加一个角标做区分,然后存储位置选择该项目原来的文件夹。

接着修改项目下的 volume 路径,建议可以把原来带电话的长路径,修改为 ./xxx 这种相对路径。

QQ_1774489765708.png

总结

以上就是外测版本中,极空间 docker 升级的全部内容。

还包括一些细节上的性能优化、按钮位置调整等等,因为不影响到实际的交互体验,所以我在文章里就没有具体展开来说了。

从最早的仅限图形化编辑,到支持 compose,再到支持内置更新,再到现在的 compose 体系完善,现在的极空间 docker 应用可以说是更好用的完整体。

如果你对 docker 的依赖比较重,并且也有很多的 compose 服务,那么极空间后续将更新的 docker 一定不会让你失望。如果你Docker的使用有一些想法或者建议,也欢迎评论区一起交流讨论~


图片

图片图片

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/195014