Heard much about Docker lately, especially during OOW16. My colleague was at a Docker-Oracle hands on session. He had seen the light :=) So I had to take a look at it. There are a lot of articles and clip to watch. Im definitely not an expert in this area, but I thought it was worth blogging about.
Docker is a new breed of virtualization?
The products primary used today; You create multiple virtual machines that runs on top of the machines physical hardware. You can run different OS with different setups of your choice, all divide into there own virtual machine on the same physical machine. This is really great, definitely if one look back before that time.
This approach also means you run a standalone OS for every virtual machine, meaning running your application, separate kernel and simulating hardware and so on. The drawback with this is that it is an inefficient use of the resources on your physical hardware.You are going to end up allocation much much more resources than the application running on the VM actually needs.
One of the goal with Docker is just that, utilizing your resources in a better manner. Run more applications on the same hardware.More fun with the same iron basically.
So how is that possible?
Docker runs on a virtual/physical/cloud machine with an OS, but the difference is that you can run multiple so called containers on top of that machine which is “separated” by the docker engine.
The docker engine does the necessary communication with the host machine OS. The container only contains your libraries and binaries for your application(database, app server etc). Which means that your OS is completely abstracted from the application. No hard dependencies.Faster startup.Resource saving.
Again, Docker is a new breed of virtualization? No it’s not. It is a new architecture which saves resources and gives us a more flexibel deployment process.
Download docker and have a go. I downloaded Kitematic to get a visual approach for controlling the containers. If your a NOGUI person, you have a ton of command to play with.