Cloud-based IDEs with good docker-compose support?

I’m interested in taking some projects I’m working on and moving towards using Docker to improve environment consistency between dev, staging, and production.

I like working with Cloud-based IDEs (Cloud9, CodeAnywhere, Codenvy, etc) – but unfortunately none of them seem to be great for this.

  • Cloud9 default workspaces run in a non-privileged Docker container - so Docker can’t be run inside of one

  • CodeAnywhere default workspaces are the same

  • Codenvy “workspaces” seem to function like a docker-compose file (allowing you to specify multiple “machines” - such as an app machine and a database machine), although “projects” are a child of “workspaces” in Codenvy. Therefore the environment definition is not part of the project, but a concept higher than it.

Both Cloud9 and CodeAnywhere offer “SSH workspaces” where you can provide a link to your own VM, however this seems to suffer from one of two problems:

  • All projects in one workspace: It becomes difficult to manage and track multiple projects, and it’s easy to get confused between two
  • All projects have their own workspace: This requires each project have its own VM - leading to large monthly costs to spin up new projects

Am I missing something simple? Is there any way to do Docker development from a cloud-based IDE?

AWS Cloud9 comes with docker pre-installed. And you can install docker-compose after. The only problem I am having so far is to access the container ports. Perhaps it has to do with firewalls within AWS. Maybe someone with good AWS skills can provide some guidance on that?!