Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

can someone explain what this is ? and what's the purpose ?



For even more fun, check out the interactive tutorial: http://www.docker.io/gettingstarted/


nope, I still don't get it.

> Docker is an open-source engine that automates the deployment of any application as a lightweight, portable, self-sufficient container that will run virtually anywhere.

Like an internet browser for executables ? I don't understand how can this be useful...


Containers are like virtual machines, only without the hardware emulation.

See http://en.wikipedia.org/wiki/LXC

See http://docs.docker.io/en/latest/faq/#how-do-containers-compa...

Docker is a mechanism to bundle an application together inside a container (think VM instance) in a way that makes it easier to distribute.


Think of it like this:

Say you have a python/rails/nodejs/c++/whatever app. Sometimes getting all the dependencies on the system is cumbersome and hard to manage. This is true for both developers, and the people deploying these apps. I can't count how many times I've had a python app fail to build on a new box because of some C extension and forgetting to install a package on (centOS, ubuntu, debian, ect).

Docker lets me do all of this once for my app, with a Docker image, and now when I want to deploy it, all the system needs is Docker installed. This means on my laptop, on our staging server, on our production server, all they need is Docker, and I will have the exact same environment in each place, and to deploy the app, its exactly the same.

There's a ton of other bonuses like each container's dependencies and processes are isolated from each other. I also get a ton of the Docker features that allow containers to communicate with each other and setup service discovery between them (ex: your database container can now expose information to the app container using environmental variables).

Tons of other good reasons too though, you should check it out.


it's like a vm, but it's much lighter (runs faster / uses less cpu, memory and disk). it does that by re-using the host kernel. so you are forced to have the same kernel in your client as in your host, and that has to be linux 64 bit.

an example of where it's useful, for me, is in system integration tests. unit tests are designed to run without changing the machine they run on, but for system integration you need to build and install and configure and run a system. so you really need something like a vm. docker gives you that isolation, but with lower overheads.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: