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

O arroz e feijão do Docker

O arroz e feijão do Docker

Docker é um projeto open source para empacotar e executar qualquer aplicação dentro de um comtainer. Os Containers do Docker são independentes do hardware e independente da plataforma. Isso significa que eles podem ser executados em qualquer lugar (no teu laptop ou na maior instância do EC2) e não exigem que você use uma linguagem, ou framework ou ferramenta de build em particular...

A ideia deste talk, é revisar o Docker (instalar, executar, criar imagens, utilizar o repository e integrar em AWS) e como pode ser utilizado diariamente pelos developers e sysadmins, a motivação, as vantagens e as possíveis desvantagens de rodar no ambiente de PROD.

Andrés Amado

October 28, 2014
Tweet

More Decks by Andrés Amado

Other Decks in Technology

Transcript

  1. O arroz e feijão do Criado com todo o amor

    do mundo por @acatown - 2014/10/27
  2. Disclaimer ! • Desculpas por quaisquer erro linguístico • Minha

    experiência como amante e usuário de tecnologia • Mais exemplos e experiências menos bla bla bla… • 100% live demo. Eu console • Não tenho medo ou vergonha em dizer que não sei a resposta a tudo • 100% opinião Pessoal
  3. Agenda • O que é? • Instalação • Commands •

    Demo #1 1 • Docker File • Demo #3 3 2• Docker Hub • Demo #2 4• Docker Cloud • Demo #4
  4. Antes de continuar • +16K GitHub stars • +20 milhões

    de Docker Engine downloads • +30K "Dockerized" aplicações no Docker Hub Registry • +13K projetos de terceiros no GitHub usando Docker • +150 Grupos “Docker Meetup” em 43 países • +640 colaboradores
  5. O que é? 1 Docker, é um projeto open source

    para empacotar, distribuir e executar “qualquer” aplicação/software dentro de um container.
  6. O que é? 1 Os Containers do Docker são independentes

    do hardware e independente da plataforma. Isso significa que eles podem ser executados em qualquer lugar (no teu laptop ou na maior instância do EC2) e não exigem que você use uma linguagem, ou framework ou ferramenta de build em particular…
  7. Instalação 1 $ yum install docker Mac OS X, Ubuntu,

    Red Hat Enterprise Linux, Oracle Linux, CentOS, Debian, Gentoo, Google Cloud Platform, Rackspace Cloud, Amazon EC2, IBM Softlayer, Arch Linux, FrugalWare, Fedora, openSUSE, CRUX Linux, Microsoft Windows, Binaries
  8. $ [root@localhost]# docker help Usage: docker [OPTIONS] COMMAND [arg...] A

    self-sufficient runtime for linux containers. Commands: build Build an image from a Dockerfile commit Create a new image from a container's changes images List images inspect Return low-level information on a container kill Kill a running container login Register or log in to a Docker registry server logs Fetch the logs of a container ps List containers pull Pull an image or a repository from a Docker registry server push Push an image or a repository to a Docker registry server rm Remove one or more containers rmi Remove one or more images run Run a command in a new container search Search for an image on the Docker Hub start Start a stopped container stop Stop a running container tag Tag an image into a repository version Show the Docker version information Commands 1
  9. $ [root@localhost]# docker version Client version: 1.2.0 Client API version:

    1.14 Go version (client): go1.2 Git commit (client): fa7b24f/1.2.0 OS/Arch (client): linux/amd64 Server version: 1.2.0 Server API version: 1.14 Go version (server): go1.2 Git commit (server): fa7b24f/1.2.0 Commands 1
  10. Docker Hub 2 Docker Hub é servidor que armazena todas

    as imagens e repositórios. O índice só tem os metadados sobre as imagens, repositórios e as contas de usuário, mas todas as imagens e repositórios são armazenados no Docker Registry.
  11. $ [root@localhost]# docker login Username: acactown Password: Email: [email protected] Login

    Succeeded $ [root@localhost]# ls -la .docker* -rw------- 1 root root 96 Oct 27 16:31 .dockercfg $ [root@localhost]# cat .dockercfg { "https://index.docker.io/v1/":{ "auth":"XXXXXXX", "email":"[email protected]" } } Docker Hub 2
  12. Docker file 3 Docker pode construir imagens automaticamente pela leitura

    das instruções de um arquivo com nome Dockerfile. Dockerfile é um arquivo de texto plano que contém todos os comandos que você normalmente executam manualmente, a fim de construir uma imagem Docker.
  13. Docker cloud 4 Um arquivo Dockerrun.aws.json descreve como implantar um

    container do Docker como um aplicativo de AWS Elastic Beanstalk. Este arquivo JSON é específico para AWS Elastic Beanstalk. Pode fornecer o AWS Elastic Beanstalk com apenas o ficheiro Dockerrun.aws.json ou em adição ao Dockerfile em um arquivo.
  14. O arroz e feijão do Criado com todo o amor

    do mundo por @acatown - 2014/10/27