基于云的 IDE 用于基于 Docker 的项目?

Cloud-based IDE for Docker-based projects?

我想开始将我的一些现有项目转换为使用 Docker - 主要是为了提高新开发人员开始工作的便利性并减少部署到生产环境时与环境相关的错误(我曾经有一个问题,代码在 dev and staging 中完美运行只是为了发现生产有一个过时的版本 MySQL)

问题是我喜欢使用基于云的 IDEs。我目前使用 Cloud9,尽管我最近开始查看 CodeAnywhere 和 Codenvy 以查看它们是否满足我的需求(到目前为止:不确定)

我 运行 遇到的问题是 Docker 似乎不能很好地与许多基于云的 IDE 一起使用。

前两个都支持 "SSH workspaces" 的某些概念——您可以启动 VM 并直接连接到它,而不是连接到它们托管的容器。虽然这将允许我 运行 Docker,但乍一看它会遇到两个严重问题之一:

  1. 每个项目都驻留在一个 "workspace" 中 - 这使得 IDE 很难将工作分开
  2. 每个项目都有自己的 "workspace",这意味着每个项目都有自己的 VM - 导致每月成本很高

是否有其他基于云的 IDE 可以解决我的问题,或者是否有其他方法可以使用这三种基于云的 IDE 之一对我有用?

我在几个不同的地方问过这个问题,而不仅仅是在这里。几个月后还没有完整的答案,但我获得了更多信息,我想将这些信息传递给偶然发现相同问题的任何人。

1。关于 Cloud9 和 CodeAnywhere

启动新的 SSH 工作时space,您不仅可以指定主机,还可以指定工作的根文件夹space。这意味着您可以在单个 VM 上创建多个工作space,并保持一切良好和独立。

有几点注意事项:

  • 为了真正将您的作品space分开,您必须为每个作品space创建一个新用户。否则 workspaceA 中的某个人可以编辑 ../workspaceB/file
  • 所有工作spaces 将共享同一个磁盘space,因此在一项工作中工作的人space 可能会填满硬盘驱动器并导致所有其他工作出现问题工作spaces
  • 没有简单的方法来启动新工作space。您必须以管理用户身份登录 VM,创建新用户,为工作创建目录space,分配权限,然后设置新的 SSH 工作space。尽管
  • 可以将其中的大部分自动化

2。具体关于 CodeAnywhere

CodeAnywhere 承诺在 2018 年第 4 季度提供全面 Docker 支持。我一直在等待,但还没有看到。祝你好运。

3。替代服务

现在 2018 年有 超过 50 个基于云的 IDE。每个人和他们的母亲都在做 "me too" 生意。所以按理说至少其中一个会起作用。虽然我没有四处尝试所有这些,但我确实从某人那里听说 OpenShift 支持 Docker。