【发布时间】: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,但乍一看它会遇到两个严重问题之一:
- 每个项目都驻留在一个“工作区”中 - 使 IDE 难以将工作分开
- 每个项目都有自己的“工作区”,这意味着每个项目都有自己的虚拟机 - 导致每月的成本很高
是否有其他一些基于云的 IDE 可以解决我的问题,或者是否有其他方法可以使用这三个对我有用的基于云的 IDE 之一?
【问题讨论】:
标签: docker ide cloud development-environment