Hi Linux guys
I would like to have multiple development environments on a single Linux machine, and I'd be interested in any thoughts, ideas or opinions on the best way to achieve this (or if it's even possible).
For example, I might have 2-3 live projects on the go in Node.js, Ruby on Rails, Go or other languages. I would like a way to, on a single server, be able to segregate these so that the prerequisites / dependencies of each stack don't interfere with one another.
I might also have a number of older projects that I have occasional work for, whereupon I'd like to be able to 'spin these up' / re-hydrate them in some way to allow me to do the work before then taking them down again.
Currently, I have a home server running ESXi and a load of full-fat VMs, one for each dev environment. However, I'd really like to move away from this and simply have a Linode (or similar) that I rent which I can silo my environments on. Security between environments (i.e. true segregation, firewalling etc.) is not really needed - I just want to avoid dependencies messing about with one another.
So far I've looked at Docker (which uses LXC) and BSD jails. Docker looks pretty good but I've had a lot of issues with networking on it, and I'm not 100% clear on how I'd actually use it for things other than longer-running processes (e.g. web servers). BSD jails look promising but not so geared towards maintainability, e.g. snapshotting, using base 'images' to build out new ones etc.
Sorry for the reams of text but I wanted to explain what I'm trying to do. I want something lightweight, robust, fairly easy to set up and ideally fast Thanks a lot for any thoughts.
I would like to have multiple development environments on a single Linux machine, and I'd be interested in any thoughts, ideas or opinions on the best way to achieve this (or if it's even possible).
For example, I might have 2-3 live projects on the go in Node.js, Ruby on Rails, Go or other languages. I would like a way to, on a single server, be able to segregate these so that the prerequisites / dependencies of each stack don't interfere with one another.
I might also have a number of older projects that I have occasional work for, whereupon I'd like to be able to 'spin these up' / re-hydrate them in some way to allow me to do the work before then taking them down again.
Currently, I have a home server running ESXi and a load of full-fat VMs, one for each dev environment. However, I'd really like to move away from this and simply have a Linode (or similar) that I rent which I can silo my environments on. Security between environments (i.e. true segregation, firewalling etc.) is not really needed - I just want to avoid dependencies messing about with one another.
So far I've looked at Docker (which uses LXC) and BSD jails. Docker looks pretty good but I've had a lot of issues with networking on it, and I'm not 100% clear on how I'd actually use it for things other than longer-running processes (e.g. web servers). BSD jails look promising but not so geared towards maintainability, e.g. snapshotting, using base 'images' to build out new ones etc.
Sorry for the reams of text but I wanted to explain what I'm trying to do. I want something lightweight, robust, fairly easy to set up and ideally fast Thanks a lot for any thoughts.