Top Banner
1 Docker e suas Tecnologias Cesar A. Nogueira Desenvolvedor de Software Instituto Eldorado @cesarnogcps 3 de Junho de 2015
23

Docker e suas tecnologias

Jan 22, 2018

Download

Technology

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Docker e suas tecnologias

1

Docker e suas Tecnologias

Cesar A. NogueiraDesenvolvedor de Software

Instituto Eldorado

@cesarnogcps

3 de Junho de 2015

Page 2: Docker e suas tecnologias

22

➔ Definindo o Docker

➔ Caso de uso real em projeto Motorola:Docker no projeto DogFood Survey

➔ Hands On

◆ Rodando seu primeiro container Docker.

Agenda

Page 3: Docker e suas tecnologias

33

NÃO é uma máquina virtual

NÃO é um substituto a qualquer Gerenciador de Configuração (como Chef, Puppet, SaltStack) que define estados de configuração da TI.

NÃO é um PaaS (Platform as a Service)

NÃO consegue sozinho linkar-se por servidores separados ou Virtual Machines

O que não é Docker?

Page 4: Docker e suas tecnologias

44

O que é Docker então?Site oficial: https://www.docker.com/

Page 5: Docker e suas tecnologias

55

Dockeré diferente de Máquinas Virtuais

Page 6: Docker e suas tecnologias

66

Page 7: Docker e suas tecnologias

77

Developers:

Construa uma vez… rode em qualquer lugar13.000+ apps disponíveis no Docker Hub pra começarAutomatize builds pipelines Compartilhe artefatos com outros devs

através de repositórios públicos ou privados.

INFRASTRUCTURE:

➔ Configure uma vez… rode qualquer coisa➔ Reduza a falácia do “mas funcionou na minha máquina”➔ “Dockerizando” a plataforma da aplicação e suas dependências,

diferenças em distribuições de OS são removidas

Por que me importar com Docker?

Page 8: Docker e suas tecnologias

88

Docker é uma ferramenta básica, como git ou java,

que você deve começar a incorporar em seu desenvolvimento diário.

Use como um sistema de controle de versão para todo o sistema operacional de seu app

Use quando quiser distribuir/colaborar no sistema de sua aplicação com um time de desenvolvedores

Use para rodar seu código no seu próprio laptop com o mesmo ambiente que você teria em seu servidor

(tente a ferramenta de construção de imagens do Docker)

Use quando sua aplicação precisar passar por várias fases de desenvolvimento

(dev/test/qa/prod, tente Drone ou Shippable, ambos fazem Docker CI/CD)

Quando usar Docker?

Page 9: Docker e suas tecnologias

99

Page 10: Docker e suas tecnologias

1010

Resumindo

Page 11: Docker e suas tecnologias

1111

Docker tem 2 anos de vida

Page 12: Docker e suas tecnologias

1212

Page 13: Docker e suas tecnologias

1313

Workers

Docker no DogFood Survey

Page 14: Docker e suas tecnologias

1414

Page 15: Docker e suas tecnologias

1515

Hands On

Page 16: Docker e suas tecnologias

1616

Como funciona?As principais partes de seu sistema de deployment são:

1. Daemon: Gerencia os containers LXC em um host

2. Client: Usado para interagir com o Docker daemon

3. Index: Este é um repositório de imagens do Docker

As ferramentas acima so usadas para criar aplicações que consistem de:

1. Containers: Diretórios contendo tudo que é necessário para rodar uma aplicação

2. Files: Scripts para automatizar a construção de aplicações Docker.

3. Images: Snapshots de aplicações Docker ou a base de Sistemas Operacionais

Page 17: Docker e suas tecnologias

1717

Ubuntusudo apt-get install docker.io

Instalação

Windowshttps://goo.gl/wLTZp1

Mac OS Xhttps://goo.gl/DSjXXS

Hands On

Page 18: Docker e suas tecnologias

1818

Crie um grupo chamado docker e adicione seu usuário nele:

1. Logue no Ubuntu ou no seu sistema operacional com um usuário que tenha privilégios de sudo

2. Crie o grupo docker e adicione seu usário com o seguinte comando:

sudo usermod -aG docker ubuntu

1. Dê logoff e logue novamente.

2. Isto irá confirmar que seu usuário está rodando com as permissões corretas.

3. Verifique se tudo está funcionando com o hello-world já provido no docker:

Instalação...Hands On

Page 19: Docker e suas tecnologias

1919

Docker Registry Hub

Page 20: Docker e suas tecnologias

2020

docker restart <container-name>

Exemplo: docker restart postgresql

Como reiniciar o contexto de um container?

Hands On

Page 21: Docker e suas tecnologias

2121

Comandos mais usados:

docker attach Attach to a running container

build Build a container from a Dockerfile

commit Create a new image from a container's changes

diff Inspect changes on a container's filesystem

export Stream the contents of a container as a tar archive

history Show the history of an image

images List images

import Create a new filesystem image from the contents of a tarball

info Display system-wide information

insert Insert a file in an image

inspect Return low-level information on a container

Page 22: Docker e suas tecnologias

2222

kill Mata um container ativo

login Registra ou loga com o Docker registry server

logs <nome do container>Recupera os logs de um container

port <nome do container>Mostra a porta pública NAT para a PRIVATE_PORT

ps Lista os containers ativos

pull Pull an image or a repository from the Docker registry server

push Push an image or a repository to the Docker registry server

restart Reinicia um container

rm Remove um container

rmi Remove uma imagemrun Roda um comando em um novo containerstart Inicia um container que está paradostop Para um container que está rodandotag Tageia uma imagem de container em um repositórioversion Mostra informações sobre a versão do Docker instaladawait Block until a container stops, then print its exit code

docker

Page 23: Docker e suas tecnologias

2323

Obrigado!Dúvidas?Sugestões?

[email protected]