É uma plataforma de software que permite que aplicativos e seus componentes sejam empacotados em contêineres separados. Os contêineres são unidades portáteis que autocontidam e podem funcionar em qualquer ambiente que tenha um Docker instalado.
O Docker facilita o desenvolvimento, implantação e escalabilidade de aplicativos usando imagens e contêineres.
Utiliza uma tecnologia de virtualização de nível de sistema operacional chamada containerização, os contêineres são unidades leves e portáteis que podem ser executadas em qualquer ambiente com Docker.
É possível criar imagens estáticas que representam ambientes de execução e executar contêineres baseados nessas imagens, promovendo portabilidade eficiência e facilidade de uso.
O que o docker chama de rede, na verdade é uma abstração criada para facilitar o gerenciamento da comunicação de dados entre containers e os nós externos ao ambiente.
O docker é disponibilizado com três redes por padrão. Essas redes oferecem configurações específicas para gerenciamento do tráfego de dados. Sendo elas: bridge, none e host.