Docker comes into two different kind of flavors community edition(CE) and enterprise edition(EE). Community edition can be downloaded by anyone and can be used for development and testing purpose without any professional support. Enterprise Edition comes with yearly based license and backed by 24 x 7 support and are supported with bug fixes much longer than their community edition.
Food For Thought: Learn More About Docker Security
Docker uses a client-server architecture. The Docker client talks to the Docker daemon, which does the heavy lifting of building, running, and distributing your Docker containers. The Docker client and daemon can run on the same system, or you can connect a Docker client to a remote Docker daemon. The Docker client and daemon communicate using a REST API, over UNIX sockets or a network interface.
Docker client interacts with docker daemon by sending the commands, Docker daemon listems for Docker API’s request and manages images, volumes and networks. Docker registry is the place where the docker images get stored. docker hub is the ppular cloud based registry to host the docker images.
Docker is written in GO which open source programming language. Docker uses a technology called namespaces to provide the isolated workspace called the container. When you run a container, Docker creates a set of namespaces for that container. These namespaces provide a layer of isolation. Each aspect of a container runs in a separate namespace and its access is limited to that namespace.