群晖 Docker 服务使用心得

7,602 阅读2分钟

这次趁着换新电脑折腾了一波,于是把 NAS 里的服务都容器化了,去掉了虚拟机,大概也就释放了 2-3G 的内存(一本满足)。

之前一直觉得群晖的 Docker 不太好用,其实目前我还是这个态度,不过总的来说……又不是不能用。

群晖 Docker 最大的缺点是:除了 Hub 安装镜像的方式,所谓的自己上传镜像到底应该上传什么,至少我 Google 了半天都没有搜到,将 Dockerfile 和 image save 之后的文件包都进行了一波上传操作,结果都是不支持的文件格式。

本文旨在回答几个基本问题:

  1. 群晖汉化后对应的 Docker 名词
  2. 自定义镜像的步骤
  3. 为什么文件夹挂载无效

群晖翻译工

  • 容器:Container
  • 注册表:Image in Hub
  • 映像:Image
  • 卷:Volume
  • 环境:env

如何自定义镜像

如上文所说,我研究了半天都没有导入成功镜像,最终我发现,可以从 ssh 进入群晖 NAS 系统内,然后执行我们的 Dockerfile。群晖的 Docker 软件只会识别非匿名的镜像,所以我们需要使用 docker build -t name:version xxxxx 打上名字。之后建议在本地测试完,否则在 SSH 中执行 docker run 会让群晖控制台界面多很多中间容器。

之后在控制台界面使用 GUI 配置启动,就和 Hub 中下载的镜像一样了。

当然,上 ssh 然后 docker build 依旧是一个非常 ugly 的方法,最好能想办法把这一步省略。

为什么文件挂载无效

这是我昨天遇到的一个很困惑的问题,结果我发现自己是把分区挂载到 Mac 上使用的,该文件夹是 Mac 去创建的,然而那些直接可挂载读写的是使用群晖的创建文件夹创建的,于是走群晖的管理系统创建了一下就 OK 了。