1. Docker
Sistemas Distribuídos – Profº.: Romulo Fagundes
Componentes: Mauricio Martins, Rodrigo Emerenciano
e Wilson Vieira
2. O que é o Docker?
● O Docker são containers que permitem
empacotar aplicativos ou trechos de
códigos, em um sistema de arquivos
completo, que contém tudo o que é
necessário para execução. Garantido sua
autenticidade.
3. Características
● Leve:
– Compartilhamento do kernel do S.O. e uso mais
eficiente da memória RAM.
● Aberto (Open Source):
– Sistema disponível nas principais distribuições:
● Mac OS, Linux e Windows.
● Seguro:
– Os containers isolam as aplicações, umas das
outras e de sua infra-estrutura, com uma camada
adicional de proteção.
5. Diferenças entre VM e Containers
● Máquina virtual: inclui aplicações, binários e
bibliotecas necessárias a um sistema
operacional específico.
● Container: inclui aplicações e todas as suas
dependências mais compartilham o mesmo
kernel, com os outros containers. Sem vínculo
com infra-estruturas específicas, sendo
possível ser executado em qualquer
computador.
6. Para quê Docker?
● Reduzir o custo da infraestrutura, com
número menor de máquinas físicas,
● Agilizar o deploy das suas aplicações.
7. Criando um Docker container
Exemplo:
● Necessário primeiro saber o que se deseja:
– docker search ubuntu
● Para baixar imagem oficial docker HUB, do ubuntu 14.10:
– docker pull repositorio/ubuntu:14.10
● Para iniciar o container a partir da imagem adquirida:
– docker run -it ubuntu:14.10
● Para encerrar o container: Ctrl+D
● Para somente sair sem encerrar: Ctrl+P+Q
8. Principais Comandos
● Listar containers : docker ps
● Listar imagens: docker images
● Para voltar ao container: docker attach <ID
CONTAINER>
● Para saber as modificações que foram realizadas
no container: docker diff <ID CONTAINER>
● Para finalizar ou parar um container : docker
stop <ID CONTAINER>
11. Dockerfile
● É composto pelo conjunto de instruções que descreve
passos para a construção de uma imagem Docker:
– Qual imagem base usada para o novo container
– Quais os próximos passos a serem tomados para instalar
várias dependências e aplicações.
– Quais arquivos necessários para serem apresentados na
imagem, e como serão disponibilizadas no container
– Que portas serão expostas
– Que comando deve rodar quando um container em sua
inicialização.
12. Dockerfile (instruções)
RUN Executa um comando Linux para configuração e
instalação
ENTRYPOINT O roteiro final ou aplicativo usado para
inicialização do container, fazendo-o um
aplicativo executável
CMD Fornece argumentos ao ENTRYPOINT
LABEL Metadados nome/valor sobre a imagem
ENV Configura variáveis de ambiente
COPY Copia arquivos no container
ADD Alternativa ao Copy
WORKDIR Seleciona diretório de trabalho para instruções
RUN, CMD, ENTRYPOINT, COPY, ou ADD
EXPOSE Portas do container serão expostas
VOLUME Cria um ponto de montagem
USER Usuário para rodar o RUN, CMD ou instruções
ENTRYPOINT
13. Dockerfile
Para construir a imagem, é necessário
apenas estar com o arquivo Dockerfile no
diretório:
● Exemplo:
– docker build -t
repositório/nomedaimagem:versão .