2. O que é o Docker?
Docker é um software que permite a criação de um ambiente isolado para criar,
testar e implantar aplicações. Chamamos esse ambiente de container.
3. Como funciona?
O Docker usa o Kernel do Linux e alguns dos seus recursos para isolar
processos, permitindo a execução de cada contêiner de maneira
independente e permitindo melhor utilização da infraestrutura de maneira
segura
5. Dockerfile
Arquivo com a receita para a criação de uma imagem
Contém comandos e configurações que serão usados no
build da nova imagem
Contém, basicamente:
● Imagem base
● Instalação de programas
● Execução de serviços
6. Dockerfile
Instruções
● WORKDIR -> Define a pasta home do container
● ENTRYPOINT -> Ponto de entrada do container. Geralmente define-se o
comando ou script que chama o processo responsável pela execução do
container
● COPY -> Copia arquivos de uma pasta local para uma pasta dentro do
container
● VOLUME -> Cria uma pasta local para receber arquivos gerados dentro do
contêiner
7. Imagem
Modelo para criação de um container Docker
Criada no build do Dockerfile ou através de um comando
no terminal
8. Comandos
● docker pull {nome da imagem} -> faz o download de uma imagem do
dockerhub para a máquina local
● docker images -> lista todas as imagens presentes no pc
● docker run {nome da imagem} -> sobe um container baseado na imagem
escolhida
● docker rmi {id ou nome da imagem} -> remove uma imagem local
● docker search {palavra chave} -> lista todas as versões de imagens que
contém {palavra chave}
● docker ps -> lista os containers em execução
● docker rm {nome do container} -> remove um container
● docker inspect {id do container} -> detalhamento de um container
10. Networking
Comunicação de containers através de uma rede
● Default network
○ Endereço IP dinâmico, dificulta a integração entre os containers
● Custom network
○ Definição de alias, permite que um container reconheça outro através de um nome
configurado manualmente
11. Vantagens no uso do Docker
● Economia de recursos => um contêiner só possui aquilo que realmente
precisa para rodar, usando menos espaço em disco, e menos recursos de
processamento e memória
● Reaproveitamento de imagens => imagens usadas como base ficam salvas
na máquina local, podendo ser reaproveitadas
● Ambientes similares => É possível ter um ambiente de desenvolvimento
idêntico ao de produção