So here are my random thoughts, please feel free to let me know why this is a bad idea.
##Why don’t we develop on docker?
- Docker is the closest environment to production, well it is the production, and apprently the only form of installation supported by discourse. What is better then giving the developers a
development environment that mimics production. Also an environment that is kept up to date and will not require additional resources for maintenance at least not as much.
####What do we have now?
We have vagrant and virtualbox combination.
####What can we have
We can still have vagrant set the virtualbox machine, but this time with docker support.
All we need is the ability to push code changes from host machine to the container.
We can use git to handle that for us.
So for source code changes, I think this configuration could work. In addition we don’t have to deal with docker container commits as the code will be actually pulled from the host (using git) . I am against docker commits because of the file system layer complexity and possible limits.
I have already started working on a solution that will bridge guest to host code sync using the git protocol.
I started this for a different reason issue, but I think that method could be used on this configuration as well.
##What are the complexities?
We are basically setting up a virtual env, and then set another layer of container nesting with docker.
I believe that will create another level of network setup complexity in the virtual machine that will need to be mitigated.
We are creating 2 levels of ssh, one to the virtual machine, and 2nd to the container if needed.
3.The initial setup environment will be slightly more bloated. base image for the virtual machine, then the docker base image.
####If you think this is a good idea, let me know if you wish to join the effort of creating this beast.