Orquestração de Contêineres

O que é Docker

Plataforma que usa virtualização no nível do sistema operacional para criar e administrar ambientes de forma isolada, e assim entregar software em pacotes chamados contêineres.
Esse processo é chamado de conteinerização.
Os contêineres são isolados uns dos outros e agrupam seus próprios softwares, bibliotecas e arquivos de configuração, eles podem se comunicar uns com os outros por meio de canais bem definidos.
O principal objetivo dos containers é criar essa independência: a habilidade de executar diversos processos e aplicativos separadamente para utilizar melhor a infraestrutura e, ao mesmo tempo, manter a segurança que você teria em sistemas separados.
As ferramentas de container, incluindo o Docker, fornecem um modelo de implantação com base em imagem. Isso facilita o compartilhamento de um aplicativo ou conjunto de serviços, incluindo todas as suas dependências, em vários ambientes.
Docker também automatiza a implantação do aplicativo (ou de conjuntos de processos que constituem um aplicativo) dentro desse ambiente de container.

Como funciona

Imagem de como funciona o Docker
Exemplo: O Docker Client a partir de um arquivo Dockerfile pode executar um build para criar uma imagem e a partir desta executar um docker run para criar um container.
Também podemos executar um docker pull para puxar a imagem do repositório remoto para dentro do repositório local e executar um docker run para criar um container a partir dessa imagem. Um único código para rodar em todos os lugares! Com a utilização do docker podemos rodar a app em qualquer ambiente que tenha o docker instalado, como por exemplo: windows, mac, qualquer distro linux, etc.
Rápido e fácil, apenas com a configuração de arquivos e a execução de alguns comandos.

Terminologias

Ferramentas

Docker Hub

hub.docker.com possui uma nuvem de containers e imagens pré-configurados.
Existem as oficiais e as que os desenvolvedores criam e compartilham.

Docker Desktop

Após a instalação, abrir o power shell e executar o comando para verificar:

                            docker --version
                            docker ps
                            docker run hello-world
                        
O Docker Desktop cria uma máquina virtual (VM) dentro do virtualizador Hyper-V do Windows.
OBS: Use Docker Desktop somente para ambiente de desenvolvimento.
Para ambiente de produção use a nuvem com linux.

Play With Docker

É um playground do Docker que permite aos usuários executar comandos do Docker em questão de segundos.
Oferece a experiência de ter uma máquina virtual Linux Alpine gratuita no navegador, onde você pode construir e executar contêineres do Docker e até mesmo criar clusters no modo Docker Swarm. Sob o capô Docker-in-Docker (DinD) é usado para dar o efeito de várias VMs/PCs.

Inclui um site de treinamento composto por um grande conjunto de laboratórios e questionários do Docker, do nível iniciante ao avançado, disponíveis em training.play-with-docker.com.

Uma instância seria um servidor físico com Docker instalado, também poderia ser uma VM com o docker instalado.
Comandos no terminal:

                            // Lista os containers e seus status
                            docker stats

                            // Faz um pull da imagem e criar um container
                            docker run --name my-first-container -p 80:80 -d nginx

                            // Lista as imagens
                            docker images