Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Introdução sobre Docker, afinal como funciona e para que serve?

Introdução sobre Docker, afinal como funciona e para que serve?

Palestra que ocorreu no nosso #3 Opentalks que foi realizado em Araraquara/SP com apoio e incentivo da S2it, nosso amigo que palestrou foi o André Luis Gomes (http://www.andreluisgomes.com.br/).

B2519015997dff04abe2568ebb2cf729?s=128

Opensanca

March 01, 2016
Tweet

More Decks by Opensanca

Other Decks in Programming

Transcript

  1. #3º OpenTalks - Disruptive Networking @S2it

  2. André Luis Gomes Formado em Engenharia Eletrônica, cursando Pós Graduação

    em Desenvolvimento Mobile no IFSP - São Carlos. Atualmente atua como desenvolvedor Java/Ruby na S2IT em um dos times dedicados do Walmart. @andrelugomes andrelugomes@gmail.com www.andreluisgomes.com.br
  3. Introdução sobre Docker

  4. O que é? O que não é… Não é uma

    VM
  5. Diferença entre um VM e um Container https://www.docker.com/what-docker

  6. Vantagens • DevOps • Diminui a Stack de tecnologia em

    Operações • Agilidade • Versatilidade • Curva de aprendizagem • Escalabilidade • Microserviços Fim do "Funcionou na minha máquina"
  7. Build, Ship, Run An open platform for distributed applications for

    developers and sysadmins
  8. • Imagens • LXC - Linux Containers • Containers A

    container is a stripped-to-basics version of a Linux operating system. An image is software you load into a container. When you ran the command https://docs.docker.com/mac/step_two/
  9. Como começar $ docker run docker/whalesay cowsay boo Unable to

    find image 'docker/whalesay:latest' locally latest: Pulling from docker/whalesay e9e06b06e14c: Pull complete a82efea989f9: Pull complete 37bea4ee0c81: Pull complete 07f8e8c5e660: Pull complete 676c4a1897e6: Pull complete 5b74edbcaa5b: Pull complete 1722f41ddcb5: Pull complete 99da72cfe067: Pull complete 5d5bd9951e26: Pull complete fb434121fc77: Already exists Digest: sha256:d6ee73f978a366cf97974115abe9c4099ed59c6f75c23d03c64446bb9cd49163 Status: Downloaded newer image for docker/whalesay:latest
  10. _____ < boo > ----- \ \ \ ## .

    ## ## ## == ## ## ## ## === /""""""""""""""""___/ === ~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ / ===- ~~~ \______ o __/ \ \ __/ \____\______/
  11. _____ < boo > ----- \ \ \ ## .

    ## ## ## == ## ## ## ## === /""""""""""""""""___/ === ~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ / ===- ~~~ \______ o __/ \ \ __/ \____\______/
  12. Dockerfile FROM docker/whalesay:latest RUN apt-get -y update && apt-get install

    -y fortunes CMD /usr/games/fortune -a | cowsay
  13. $ docker build -t docker-whale . Sending build context to

    Docker daemon 158.8 MB ...snip... Removing intermediate container a8e6faa88df3 Successfully built 7d9495d03763
  14. Trabalhando com um Container Baixar imagem docker pull docker/whalesay Executar

    imagem com parametros. O comando RUN fara o pull caso a imagem não esteja local docker run docker/whalesay cowsay boo Construir uma imagem. Precisa de um Dockerfile docker build -t my-personal-whalesay . Mostra imagens docker images Remover imagens docker rmi -f NAME | IMAGE ID
  15. Push imagens 1 º - Tag : docker tag IMAGE_ID

    andrelugomes/my-personal-whalesay:latest 2 º - PUSH : docker push andrelugomes/my-personal-whalesay Utilizando o Container docker run --name=NOME -i -t -d IMAGE:VERSION [/bin/bash OU CMD] RUN HELP -d, --detach=false Run container in background and print container ID -t, --tty=false Allocate a pseudo-TTY -i, --interactive=false Keep STDIN open even if not attached --name=NOME_PARA_CONTAINER
  16. Parando container docker stop CONTAINER ID Mostra os containers rodando

    docker ps Para todos os containers docker stop $(docker ps -a -q) Exclui todos os Containers docker rm $(docker ps -a -q) Acessar um container docker attach CONTAINER ID docker exec -i -t CONTAINER_ID bash
  17. Verificar a diferenças na imagem (Todos arquivos criados, deletados e

    modificados) docker diff CONTAINER ID Executar comandos no Container docker exec CONTAINER_ID COMANDO Informações do Container docker inspect CONTAINER_ID Verificar consumo de CPU, Memória e Rede docker stats Container ID
  18. Chega de Blah blah blah

  19. Ferramentas

  20. https://github.com/docker/dockercraft