【问题标题】:Cloud-based IDE for Docker-based projects?用于基于 Docker 的项目的基于云的 IDE?
【发布时间】:2018-10-10 01:51:30
【问题描述】:

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

问题是我喜欢使用基于云的 IDE。我目前使用 Cloud9,尽管我最近开始研究 CodeAnywhere 和 Codenvy,看看它们是否符合我的需求(目前:不确定)

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

  • 在 Cloud9 上,您的项目(和关联的存储库)位于“工作区”中。一个工作区是以非特权模式运行的 Docker 容器,因此您不能在工作区中运行 Docker。这意味着任何环境依赖项(Python、PHP、MySQL 等)都必须直接安装到工作区操作系统
  • CodeAnywhere 类似地创建一个“容器”——一个 Docker 容器,您的代码在其中运行,而您不能在其中运行 Docker
  • Codenvy 似乎有点更接近我想要的,因为“工作区”可能由多个“机器”组成。这让我想起了一个docker-compose.yml 文件。您的工作区可能包含一个数据库机器、一个 redis 缓存机器和一个 PHP 机器。然而,他们的层次结构随后将“项目”(和相关的存储库)作为“工作区”的子级 - 而不是环境定义(和 docker-compose.yml 文件)作为项目的子级

前两个都支持“SSH 工作区”的一些概念——您可以启动虚拟机并直接连接到它,而不是连接到它们托管的容器。虽然这可以让我运行 Docker,但乍一看它会遇到两个严重问题之一:

  1. 每个项目都驻留在一个“工作区”中 - 使 IDE 难以将工作分开
  2. 每个项目都有自己的“工作区”,这意味着每个项目都有自己的虚拟机 - 导致每月的成本很高

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

【问题讨论】:

    标签: docker ide cloud development-environment


    【解决方案1】:

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

    1。关于 Cloud9 和 CodeAnywhere

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

    有一些注意事项:

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

    2。具体关于 CodeAnywhere

    CodeAnywhere 承诺在 2018 年第四季度全面支持 Docker。我一直在等待,但还没有看到。保持你的手指交叉。

    3。替代服务

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

    【讨论】:

      猜你喜欢
      • 2018-05-27
      • 2011-04-11
      • 2018-03-10
      • 1970-01-01
      • 2014-07-28
      • 1970-01-01
      • 2014-12-29
      • 2012-08-27
      相关资源
      最近更新 更多