Docker is a tool designed to make it easier to create, deploy, and run applications by using containers. Containers allow developers to package up an application with all of the parts it needs, such as libraries and other dependencies, and ship it all out as one package.
Docker is something like a virtual machine, but Docker allows application use the same Linux kernel without unnecessary dependencies that may be on the host computer. This allows for some performance and reduces the size of the application.
The huge advantage of Docker is that is open source. That means that anyone can contribute as a volunteer too.
What is Docker for?
Docker is a tool that’s designed for developers, administrators and software testers. For developers, it means that they can focus on writing code not maintain the environment. Reduce the number of dependencies, and also quick start with setting up initial development. Administrators get flexible and fast way to create and get running environments on easy way. Software testers get the same environment that developer get to write feature. The last part is very important for two points: there is no misunderstanding in environment dependencies, and if there is a bug in software is easy to track and reproduce as well.
On the Internet, there are a lot of information about Docker and why is so sexy thous days. Beginners guides for Docker, command-link simulators, a lot of images that are ready to use. But I want to create my own tutorial that will be available on youtube channel. Starting with some basics to some advanced setup as well.
Docker and security:
As a lot of tools, Docker brings some security too for the applications that are running in this environment, however, containers are not the thing that we can speak about security. For example, there is something like kernel exploits, DDOS attacks, breakouts, poisoned images and secrets that can be compromised.