What is a Docker container?
Docker uses a unified interface to manage applications and securely isolate them with all processes, libraries, configuration files, and other dependent files into separate containers without the operating system also having to be present in the container. It contains its own, hosting Linux instance, over which the isolated processes then run. This makes the container very small, easy to carry, extremely quick to start and much more resource efficient.
Networking in the docker works similarly to virtual or physical servers, here each container has its own virtual network card, thanks to which it communicates with other containers on the network or the outside world.
Docker can be used from developer stations, through testing environment and integration testing to the production environment for the application. It can be deployed in a fully manual controlled solution, or orchestra technologies such as Docker Swarm, Kubernetes or Apache Mesos can be used.