3 ms·
Can someone give me a rundown on the general idea of Docker? I'm a programmer, don't do much server/linux work (OS X is my OS), so I'm not quite understanding.
by landr0id 13y ago
Can someone give me a rundown on the general idea of Docker? I'm a programmer, don't do much server/linux work (OS X is my OS), so I'm not quite understanding.
> Docker is an open-source engine which automates the deployment of applications as highly portable, self-sufficient containers which are independent of hardware, language, framework, packaging system and hosting provider.
What does this mean? Someone sets up an application with necessary dependencies, everything ready to go and creates a container out of it which can run on any linux kernel?
- StavrosK 13y agoHell, I do significant amounts of server/Linux work, and still don't understand Docker (it doesn't help that I haven't been able to run it because btrfs). I understand that it's a lightweigth container, but what's the advantage? Aren't images still 2+ GB? Do I have to version the entire FS instead of 2-3 config files? Can I freeze it? Can I push it to a server? How long will that take? Can I use the same image on develop, staging and production? How does it know which is which? Etc etc.
- kalessin 13y agoYou don't need to have btrfs to run Docker (you need aufs which is included in Debian and Ubuntu). Yes, in the end images are an entire filesystem and can be large if you installed a lot of packages (or very small, e.g: busybox). Yes, you can freeze it: you can commit a container as a new image. Yes, you can push it to a server (https://index.docker.io/ https://index.docker.io/). Yes, you can use the same image for development, staging and production; you'll launch different container from the same image that's it.
- StavrosK 13y agoAh, that clears things up a bit, thanks. However, Docker currently has a bug that prevents it from running on btrfs, which I'm running on.
- simpsond 13y agoIt's really an set of tools for lxc. Create "images", boot them, and have a sandboxed execute environment for some service(s). There are repositories with services pre installed. You can get a service running with a command like: docker run -h myhost -t repo/redis-image redis-server That creates a container based on the repo/redis-image image, and runs the command "redis-server" once it boots (less than a second on my machine).
- landr0id 13y agoOh that's actually really neat. I'll have to look into it more, but it's a shame there's nothing available for OS X for me to play with on my local machine.