apresentacao docker
TRANSCRIPT
Docker
Sistemas Distribuídos – Profº.: Romulo FagundesComponentes: Mauricio Martins, Rodrigo Emerenciano
e Wilson Vieira
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.
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.
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.
Para quê Docker?
● Reduzir o custo da infraestrutura, com número menor de máquinas físicas,
● Agilizar o deploy das suas aplicações.
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
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>
Principais Comandos (cont.)
● Remover um ou mais containers: docker rm <ID CONTAINER>
● Remover uma ou mais imagens: docker rmi <ID CONTAINER>
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.
Dockerfile (instruções)
RUN Executa um comando Linux para configuração e instalação
ENTRYPOINT O roteiro final ou aplicativo usado parainicialização do container, fazendo-o umaplicativo 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
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 .
Docker HUB
Enviando imagem para repositório (exemplo):
● docker commit <ID container> docker.io/nomedeusuário/nomedaimagem
● docker login
● docker push docker.io/nomedeusuário/nomedaimagem
Referências
● https://hub.docker.com/
● http://www.docker.com/
● http://docs.docker.com/linux/started/
● https://github.com/JBoss-Dockerfiles/wildfly
● https://hub.docker.com/r/jboss/wildfly/~/dockerfile/
● http://crosbymichael.com/dockerfile-best-practices.html
● https://docs.docker.com/articles/dockerfile_best-practices/
●