如何迁移到docker架构?

如何迁移到docker架构?

我对 Docker 完全陌生,我喜欢在不同环境中隔离不同进程的概念,最重要的是你可以在容器中测试某些东西而不会污染你的基础系统。我现在正计划进行一个大项目,将我的家庭服务器迁移到 Docker 设置。

我现有的设置

  • 运行 Ubuntu 的服务器(使用 DE 来简化设置,但我可以放弃它)
  • 系统安装在单个 SATA SSD 上,2 个磁盘阵列(每个 3 个磁盘,分别为每个 4TB 和每个 3TB,在使用 mdadm 的 Software Raid 5 中),安装在/share和 中/share2
  • Plex媒体服务器:一些库位于一个共享上,一些位于另一个共享上,Plex数据也位于共享上
  • Samba Server:与家里的多台Windows机器共享
  • Crashplan:用于备份整个2个阵列
  • Insync :用于在共享之一上同步我的 Google Drive,这样我也可以通过 Samba 进行本地访问
  • Web服务器:用于一些小型网站测试
  • 网络服务:传输下载站、SickRage、Unify Network Controller

目标

因此,如果我明白了,我应该使用以下架构:

  • Ubuntu 作为主机操作系统(重新使用现有的操作系​​统,不过我需要做一些清理工作)
  • mdadm 安装在主机操作系统中(已经存在并且已全部设置)
  • 具有以下容器的 Docker 主机
    • 桑巴服务器
    • Plex 媒体服务器
    • 应急计划
    • 同步中
    • 网络服务器
    • 传播
    • 病态愤怒
    • 统一网络控制器

不可避免的问题

我的问题是:

  • 基本架构是否正确? (基本上,我明白它的工作方式了吗?)
  • 数据是否会在容器之间正确共享?例如,我通过 Samba 更新文件,然后 Crashplan 容器备份它,Insync 容器将它同步到 Google Drive。我看到它应该没问题,但我发现的不同文章总是说:运行一个更改数据的容器,然后运行第二个容器,它会看到修改后的数据。但容器没有运行一起所以我在这里有一个疑问。
  • 现在出现了有关过渡的棘手问题。我发现那里(请参阅第二个注释)我们不应从主机更改卷中的数据,否则它将损坏。我无法一次性更改所有内容,我想实现一个容器,然后当它运行正常时,再进行下一个容器,依此类推。我搞砸了吗?我真的需要立即准备好所有容器和阶段吗?

相关内容