3 ms·
I'm still not grasping the concept of Docker and such... Can I use Deis (albeit in a much smaller scale) to quickly spin up lightweight VM-ish entitys for prot
by wattengard 12y ago
I'm still not grasping the concept of Docker and such...
Can I use Deis (albeit in a much smaller scale) to quickly spin up lightweight VM-ish entitys for prototyping new webapps/backends (i have an unused box at home), or am I coming at this from the wrong end :)
(Link to a _good_ explanation of Docker, preferably a video ;), would be gratefully appreciated)
- agilebyte 12y agoThe way I think about it: Docker - specify a config file and boom you have a VM with the system, the language, the libraries preinstalled Deis/Dokku - gives you tooling to deploy/stop/access apps on your VM with an easy cli
- wattengard 12y agoOk.. But if I push 5 docker containers based on say Ubuntu 14.04, will they take 5 times the size of an Ubuntu 14.04 base install, or will they share base install?
- agilebyte 12y agoThey will share, and will spin up very fast, so size is not an issue.
- bdcravens 12y agoThey share much of the underlying OS.
- agilebyte 12y agoA little Docker example I keep coming back to: https://github.com/radekstepan/im-runnable https://github.com/radekstepan/im-runnable It creates a little service that lets you run code (like Python, Node) in Docker sandboxed environment.
- bacongobbler 12y agothis is more of a Docker than a Deis question, but a Docker image is composed of layers. Each tagged image keeps an ancestry list of all of the layers it requires. In your case, if you run 5 docker containers on the same host on top of ubuntu:14.04, it will initially pull the parent's layers (ubuntu:14.04), then it will pull its own layers. They all share the same layers, which is why it's so powerful. You get the exact same execution environment every time.
- Legogris 12y agoKey here is to realize the difference between VMs and LXC (which is what Docker builds on).
- nickstinemates 12y agoClarifying note: Docker uses libcontainer NY default for its execution engine. LXC is an option, not enabled by default.