SlideShare uma empresa Scribd logo
Docker para Iniciantes
Docker para Iniciantes
Docker é um framework escrito em Go e foi
criado pela empresa dotCloud, porém com o
grande sucesso após ser colocado na
internet, a empresa mudou o seu nome para
o que conhecemos hoje como Docker®.
Docker é basicamente a engine que gerencia
os containers de aplicações, criados a partir
de imagens.
IntroduçãoIntrodução
Docker para Iniciantes
Arquitetura do Docker – Entendendo Container
Container ou LXC (Linux Container), é uma
conjunção de binários de uma determinada
aplicação ou software, que partilha do kernel do
S.O host. Não é correto dizer que Container é
uma VM, tendo em vista que uma VM comum
possui seu próprio kernel, binários, aplicativos e
bibliotecas para ser executada, tomando conta
de um grande espaço no servidor.
Docker para Iniciantes
IntroduçãoArquitetura do Docker - Componentes
- Docker server e daemon,
- Imagens
- Registros
- Containers.
https://docs.docker.com/engine/docker-overview/
Docker para Iniciantes
IntroduçãoArquitetura do Docker – Componentes - Docker server e daemon
Docker server e Docker daemon, são os responsáveis por todas as ações
relacionadas aos containers. O Docker daemon recebe os comandos dos clients a
partir dos Command Line interfaces ou API’s.
Docker para Iniciantes
IntroduçãoArquitetura do Docker – Componentes - Imagens
Imagens, são arquivos que contém todos os componentes e estruturas
de um S.O ou aplicação. Elas são a base de construção de containers
no Docker.
Docker para Iniciantes
IntroduçãoArquitetura do Docker – Componentes - Registros
Registros do Docker, é uma espécie de repositório para imagens. Com
ele você pode criar, alterar e distribuir imagens com outros. Funciona
como uma espécie de git.
Uma vez que você criou uma imagem, você pode usar esse serviço do
Docker Hub para distribuí-la, contendo informações de quem a criou.
Docker para Iniciantes
IntroduçãoArquitetura do Docker – Componentes - Container
Containers, são ambientes de execução Docker, criados a partir de
imagens.
O Container é como se fosse um binário, ele contém apenas processos
necessários para a aplicação funcionar. Uma das vantagens de usar
Docker container é devido ao baixo custo para utilização e flexibilização
na hora de mudar de um ambiente para outro.
Docker para Iniciantes
Stacks, Services e Volumes
Stacks, é responsável por subir todos os serviços de uma
aplicação;
Services, são containers, orquestrados pelo docker-compose;
Volumes, são mapeamentos de arquivos ou diretórios do host
com o container.
Docker para Iniciantes
Como criar Imagens e Containers
A base de criação de uma imagem é pelo arquivo Dockerfile. O Dockerfile é um arquivo
onde você insere todos os parâmetros que serão necessários para criação de uma imagem
docker. Após inserir as informações dentro do Dockerfile, é necessário “buildar” o arquivo
para que assim seja criado a imagem do container.
O comando para fazer a build do Dockerfile é:
$ docker build -t ubuntu:18.04 .
Imagem de um arquivo Dockerfile
Docker para Iniciantes
Após feito a build, é possível ver a imagem ubuntu:18.04 criada.
Como criar Imagens e Containers
OBS: Quando a imagem for criada, ela irá permanecer no seu Docker, evitando que o Docker faça
novamente um pull da imagem.
Docker para Iniciantes
Com a imagem criada, chegou a hora de criar um container. Pode ser usado
tanto a linha de comando, como também o docker-compose.yml.
Seguindo com a linha de comando, ao executar:
$docker container run -it ubuntu:18.04 /bin/bash
Cria-se um container com interação e apenas com o processo do bash. A
mágica de usar container Docker, é que ele executa apenas os processos
necessários para que a aplicação rode normalmente.
Como criar Imagens e Containers
Docker para Iniciantes
Com o container em execução, pode-se usar alguns “commands lines” para
administrá-lo.
Como criar Imagens e Containers
Para saber informações como: IP, portas utilizadas, localização de
volumes... pode-se usar o parâmetro inspect, porém recomenda-se ler a
documentação para não se perder entre as linhas que este comando
retorna.
https://docs.docker.com/engine/reference/commandline/inspect/
Docker para Iniciantes
O comando “attach” serve para conectar diretamente a um container em
execução.
$docker attach ID_DO_CONTAINER
Como criar Imagens e Containers
Também é possível rodar comandos sem acessar o container, usando o
comando “exec”:
$docker exec ID_DO_CONTAINER ps -ef
Fonte: https://docs.docker.com/engine/reference/commandline/docker/
Docker para Iniciantes
O Docker Swarm é um
orquestrador nativo do Docker, que
permite a criação de clusters de
Docker, ou seja, podemos fazer
com que diversos hosts de Docker
estejam dentro do mesmo pool de
recursos, facilitando assim o
deploy de containers.
Swarm e kubernetes
Docker para Iniciantes
O Kubernetes, assim como o Swarm, também é um
orquestrador de containers, porém é mais complexo.
O uso do kubernetes requer mais conhecimento de
infraestrutura, pois trabalha muito com o S.O.. O
kubernetes está mais para ambientes de médio e
grande porte, pois já está no mercado a muito
tempo, ao contrário do Docker Swarm, que é um
orquestrador ainda em fase de amadurecimento.
Swarm e kubernetes
Docker para Iniciantes
Agilidade no Deploy; Não é necessário subir uma instância ou
instalar um servidor todo apenas para testar algo, basta criar
um container e subir a aplicação;
Controle da versionamento; É possível adicionar alterações na
aplicação e caso der algo errado, o caminho de retorno já está
feito;
Multiplataforma; Pode ser usado em diversos tipos de
ambientes, seja data centers físicos ou cloud. Não há restrições
para qual tipo de ambiente pode ser incorporado. O Docker
pode ser facilmente migrado à infraestrutura como código.
Ágil; A capacidade de implantação de uma aplicação ou a
recuperação da mesma, é o que faz o Docker se destacar.
Vantagens de usar Docker
Docker para Iniciantes
Além de todas a maravilhas já citadas no Docker, existe algo
que não foi abordado, chama-se Integração. O Docker tem
contribuído para que as equipes de Dev e Ops trabalhem
integradas em prol do projeto. O Docker permite também que o
desenvolvedor tenha todo o seu ambiente de desenvolvimento
e teste totalmente agnóstico da infraestrutura.
Docker e DevOps
Docker para Iniciantes
O Portainer é um gerenciador do tipo
web, seu principal serviço é gerenciar
containers Docker. Uma das principais
características da ferramenta está na
produtividade quanto ao gerenciamento
dos containers.
Portainer.io
Docker para Iniciantes
Portainer.io
OBRIGADO!
Rodrigo Rodrigues, RR
E-mail: 0rr@outlook.com.br
Telegram: @rr_inf
LinkedIn: linkedin.com/in/rrinf/

Mais conteúdo relacionado

Mais procurados

Docker introduction
Docker introductionDocker introduction
Docker introduction
dotCloud
 
Linux presentation
Linux presentationLinux presentation
Linux presentation
Nikhil Jain
 
Docker: uma visão geral e exemplos de uso
Docker: uma visão geral e exemplos de usoDocker: uma visão geral e exemplos de uso
Docker: uma visão geral e exemplos de uso
Tobias Sette
 
Introduction to Docker Compose
Introduction to Docker ComposeIntroduction to Docker Compose
Introduction to Docker Compose
Ajeet Singh Raina
 
Introduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUGIntroduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUG
Ajeet Singh Raina
 
Docker Swarm 0.2.0
Docker Swarm 0.2.0Docker Swarm 0.2.0
Docker Swarm 0.2.0
Docker, Inc.
 
Docker Compose by Aanand Prasad
Docker Compose by Aanand Prasad Docker Compose by Aanand Prasad
Docker Compose by Aanand Prasad
Docker, Inc.
 
Docker Swarm for Beginner
Docker Swarm for BeginnerDocker Swarm for Beginner
Docker Swarm for Beginner
Shahzad Masud
 
What is Docker
What is DockerWhat is Docker
What is Docker
Pavel Klimiankou
 
Docker Explained | What Is A Docker Container? | Docker Simplified | Docker T...
Docker Explained | What Is A Docker Container? | Docker Simplified | Docker T...Docker Explained | What Is A Docker Container? | Docker Simplified | Docker T...
Docker Explained | What Is A Docker Container? | Docker Simplified | Docker T...
Edureka!
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
Peng Xiao
 
Dockerfile
Dockerfile Dockerfile
Dockerfile
Jeffrey Ellin
 
도커 무작정 따라하기: 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!
도커 무작정 따라하기: 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!도커 무작정 따라하기: 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!
도커 무작정 따라하기: 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!
pyrasis
 
K8s in 3h - Kubernetes Fundamentals Training
K8s in 3h - Kubernetes Fundamentals TrainingK8s in 3h - Kubernetes Fundamentals Training
K8s in 3h - Kubernetes Fundamentals Training
Piotr Perzyna
 
Docker & Kubernetes 기초 - 최용호
Docker & Kubernetes 기초 - 최용호Docker & Kubernetes 기초 - 최용호
Docker & Kubernetes 기초 - 최용호
용호 최
 
Docker Container Security
Docker Container SecurityDocker Container Security
Docker Container Security
Suraj Khetani
 
Docker
DockerDocker
Docker intro
Docker introDocker intro
Docker intro
Oleg Z
 
Getting started with Docker
Getting started with DockerGetting started with Docker
Getting started with Docker
Ravindu Fernando
 
Container orchestration overview
Container orchestration overviewContainer orchestration overview
Container orchestration overview
Wyn B. Van Devanter
 

Mais procurados (20)

Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Linux presentation
Linux presentationLinux presentation
Linux presentation
 
Docker: uma visão geral e exemplos de uso
Docker: uma visão geral e exemplos de usoDocker: uma visão geral e exemplos de uso
Docker: uma visão geral e exemplos de uso
 
Introduction to Docker Compose
Introduction to Docker ComposeIntroduction to Docker Compose
Introduction to Docker Compose
 
Introduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUGIntroduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUG
 
Docker Swarm 0.2.0
Docker Swarm 0.2.0Docker Swarm 0.2.0
Docker Swarm 0.2.0
 
Docker Compose by Aanand Prasad
Docker Compose by Aanand Prasad Docker Compose by Aanand Prasad
Docker Compose by Aanand Prasad
 
Docker Swarm for Beginner
Docker Swarm for BeginnerDocker Swarm for Beginner
Docker Swarm for Beginner
 
What is Docker
What is DockerWhat is Docker
What is Docker
 
Docker Explained | What Is A Docker Container? | Docker Simplified | Docker T...
Docker Explained | What Is A Docker Container? | Docker Simplified | Docker T...Docker Explained | What Is A Docker Container? | Docker Simplified | Docker T...
Docker Explained | What Is A Docker Container? | Docker Simplified | Docker T...
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Dockerfile
Dockerfile Dockerfile
Dockerfile
 
도커 무작정 따라하기: 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!
도커 무작정 따라하기: 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!도커 무작정 따라하기: 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!
도커 무작정 따라하기: 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!
 
K8s in 3h - Kubernetes Fundamentals Training
K8s in 3h - Kubernetes Fundamentals TrainingK8s in 3h - Kubernetes Fundamentals Training
K8s in 3h - Kubernetes Fundamentals Training
 
Docker & Kubernetes 기초 - 최용호
Docker & Kubernetes 기초 - 최용호Docker & Kubernetes 기초 - 최용호
Docker & Kubernetes 기초 - 최용호
 
Docker Container Security
Docker Container SecurityDocker Container Security
Docker Container Security
 
Docker
DockerDocker
Docker
 
Docker intro
Docker introDocker intro
Docker intro
 
Getting started with Docker
Getting started with DockerGetting started with Docker
Getting started with Docker
 
Container orchestration overview
Container orchestration overviewContainer orchestration overview
Container orchestration overview
 

Semelhante a Docker para iniciantes

Usando Docker no desenvolvimento .NET
Usando Docker no desenvolvimento .NETUsando Docker no desenvolvimento .NET
Usando Docker no desenvolvimento .NET
Dextra Sistemas / Etec Itu
 
Desenvolvimento em .NET utilizando Docker - Meetup 8 Itu Developers
Desenvolvimento em .NET utilizando Docker - Meetup 8 Itu DevelopersDesenvolvimento em .NET utilizando Docker - Meetup 8 Itu Developers
Desenvolvimento em .NET utilizando Docker - Meetup 8 Itu Developers
Dextra Sistemas / Etec Itu
 
Iniciando com docker
Iniciando com dockerIniciando com docker
Iniciando com docker
Daniel Madureira Batista
 
Introdução ao docker
Introdução ao dockerIntrodução ao docker
Introdução ao docker
Benicio Ávila
 
Docker
DockerDocker
Olá docker
Olá dockerOlá docker
Olá docker
Marcos Ellys
 
Docker meetup
Docker meetupDocker meetup
Docker meetup
Bianca Cristina
 
Docker e suas tecnologias
Docker e suas tecnologiasDocker e suas tecnologias
Docker e suas tecnologias
Cesar Augusto Nogueira
 
Docker e suas tecnologias por @cesarnog
Docker e suas tecnologias por @cesarnogDocker e suas tecnologias por @cesarnog
Docker e suas tecnologias por @cesarnog
Cesar Augusto Nogueira
 
Oficina docker
Oficina dockerOficina docker
Oficina docker
Morvana Bonin
 
Introdução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfIntrodução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdf
dadalt1
 
Docker - Essa baleia vai te conquistar
Docker - Essa baleia vai te conquistarDocker - Essa baleia vai te conquistar
Docker - Essa baleia vai te conquistar
Vinícius Feitosa
 
Docker basicão e sem mistérios
Docker basicão e sem mistériosDocker basicão e sem mistérios
Docker basicão e sem mistérios
Isaac Maciel
 
Orquestrando ambientes com docker e kubernetes
Orquestrando ambientes com docker e kubernetes	Orquestrando ambientes com docker e kubernetes
Orquestrando ambientes com docker e kubernetes
Rhuan Karlus Silva
 
Docker introducao a sitemas de conteiners docker
Docker introducao a sitemas de conteiners dockerDocker introducao a sitemas de conteiners docker
Docker introducao a sitemas de conteiners docker
HerbethLucas1
 
Aulão de docker
Aulão de dockerAulão de docker
Aulão de docker
Renato Lucena
 
Usp codelabs (docker)
Usp codelabs (docker)Usp codelabs (docker)
Usp codelabs (docker)
TechCobli
 
Transportando as aplicações entre vários ambientes com Docker
Transportando as aplicações entre vários ambientes com DockerTransportando as aplicações entre vários ambientes com Docker
Transportando as aplicações entre vários ambientes com Docker
Aécio Pires
 
Api com sql server em container
Api com sql server em containerApi com sql server em container
Api com sql server em container
Thaise Dantas
 
Docker: Introdução à Conteinerização de Apps e Nuvem.
Docker: Introdução à Conteinerização de Apps e Nuvem.Docker: Introdução à Conteinerização de Apps e Nuvem.
Docker: Introdução à Conteinerização de Apps e Nuvem.
Marcel Cattaneo
 

Semelhante a Docker para iniciantes (20)

Usando Docker no desenvolvimento .NET
Usando Docker no desenvolvimento .NETUsando Docker no desenvolvimento .NET
Usando Docker no desenvolvimento .NET
 
Desenvolvimento em .NET utilizando Docker - Meetup 8 Itu Developers
Desenvolvimento em .NET utilizando Docker - Meetup 8 Itu DevelopersDesenvolvimento em .NET utilizando Docker - Meetup 8 Itu Developers
Desenvolvimento em .NET utilizando Docker - Meetup 8 Itu Developers
 
Iniciando com docker
Iniciando com dockerIniciando com docker
Iniciando com docker
 
Introdução ao docker
Introdução ao dockerIntrodução ao docker
Introdução ao docker
 
Docker
DockerDocker
Docker
 
Olá docker
Olá dockerOlá docker
Olá docker
 
Docker meetup
Docker meetupDocker meetup
Docker meetup
 
Docker e suas tecnologias
Docker e suas tecnologiasDocker e suas tecnologias
Docker e suas tecnologias
 
Docker e suas tecnologias por @cesarnog
Docker e suas tecnologias por @cesarnogDocker e suas tecnologias por @cesarnog
Docker e suas tecnologias por @cesarnog
 
Oficina docker
Oficina dockerOficina docker
Oficina docker
 
Introdução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfIntrodução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdf
 
Docker - Essa baleia vai te conquistar
Docker - Essa baleia vai te conquistarDocker - Essa baleia vai te conquistar
Docker - Essa baleia vai te conquistar
 
Docker basicão e sem mistérios
Docker basicão e sem mistériosDocker basicão e sem mistérios
Docker basicão e sem mistérios
 
Orquestrando ambientes com docker e kubernetes
Orquestrando ambientes com docker e kubernetes	Orquestrando ambientes com docker e kubernetes
Orquestrando ambientes com docker e kubernetes
 
Docker introducao a sitemas de conteiners docker
Docker introducao a sitemas de conteiners dockerDocker introducao a sitemas de conteiners docker
Docker introducao a sitemas de conteiners docker
 
Aulão de docker
Aulão de dockerAulão de docker
Aulão de docker
 
Usp codelabs (docker)
Usp codelabs (docker)Usp codelabs (docker)
Usp codelabs (docker)
 
Transportando as aplicações entre vários ambientes com Docker
Transportando as aplicações entre vários ambientes com DockerTransportando as aplicações entre vários ambientes com Docker
Transportando as aplicações entre vários ambientes com Docker
 
Api com sql server em container
Api com sql server em containerApi com sql server em container
Api com sql server em container
 
Docker: Introdução à Conteinerização de Apps e Nuvem.
Docker: Introdução à Conteinerização de Apps e Nuvem.Docker: Introdução à Conteinerização de Apps e Nuvem.
Docker: Introdução à Conteinerização de Apps e Nuvem.
 

Último

Guardioes Digitais em ação: Como criar senhas seguras!
Guardioes Digitais em ação: Como criar senhas seguras!Guardioes Digitais em ação: Como criar senhas seguras!
Guardioes Digitais em ação: Como criar senhas seguras!
Jonathas Muniz
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
TomasSousa7
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
Momento da Informática
 
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Gabriel de Mattos Faustino
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
Momento da Informática
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
Danilo Pinotti
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
Faga1939
 

Último (7)

Guardioes Digitais em ação: Como criar senhas seguras!
Guardioes Digitais em ação: Como criar senhas seguras!Guardioes Digitais em ação: Como criar senhas seguras!
Guardioes Digitais em ação: Como criar senhas seguras!
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
 
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
 

Docker para iniciantes

  • 2. Docker para Iniciantes Docker é um framework escrito em Go e foi criado pela empresa dotCloud, porém com o grande sucesso após ser colocado na internet, a empresa mudou o seu nome para o que conhecemos hoje como Docker®. Docker é basicamente a engine que gerencia os containers de aplicações, criados a partir de imagens. IntroduçãoIntrodução
  • 3. Docker para Iniciantes Arquitetura do Docker – Entendendo Container Container ou LXC (Linux Container), é uma conjunção de binários de uma determinada aplicação ou software, que partilha do kernel do S.O host. Não é correto dizer que Container é uma VM, tendo em vista que uma VM comum possui seu próprio kernel, binários, aplicativos e bibliotecas para ser executada, tomando conta de um grande espaço no servidor.
  • 4. Docker para Iniciantes IntroduçãoArquitetura do Docker - Componentes - Docker server e daemon, - Imagens - Registros - Containers. https://docs.docker.com/engine/docker-overview/
  • 5. Docker para Iniciantes IntroduçãoArquitetura do Docker – Componentes - Docker server e daemon Docker server e Docker daemon, são os responsáveis por todas as ações relacionadas aos containers. O Docker daemon recebe os comandos dos clients a partir dos Command Line interfaces ou API’s.
  • 6. Docker para Iniciantes IntroduçãoArquitetura do Docker – Componentes - Imagens Imagens, são arquivos que contém todos os componentes e estruturas de um S.O ou aplicação. Elas são a base de construção de containers no Docker.
  • 7. Docker para Iniciantes IntroduçãoArquitetura do Docker – Componentes - Registros Registros do Docker, é uma espécie de repositório para imagens. Com ele você pode criar, alterar e distribuir imagens com outros. Funciona como uma espécie de git. Uma vez que você criou uma imagem, você pode usar esse serviço do Docker Hub para distribuí-la, contendo informações de quem a criou.
  • 8. Docker para Iniciantes IntroduçãoArquitetura do Docker – Componentes - Container Containers, são ambientes de execução Docker, criados a partir de imagens. O Container é como se fosse um binário, ele contém apenas processos necessários para a aplicação funcionar. Uma das vantagens de usar Docker container é devido ao baixo custo para utilização e flexibilização na hora de mudar de um ambiente para outro.
  • 9. Docker para Iniciantes Stacks, Services e Volumes Stacks, é responsável por subir todos os serviços de uma aplicação; Services, são containers, orquestrados pelo docker-compose; Volumes, são mapeamentos de arquivos ou diretórios do host com o container.
  • 10. Docker para Iniciantes Como criar Imagens e Containers A base de criação de uma imagem é pelo arquivo Dockerfile. O Dockerfile é um arquivo onde você insere todos os parâmetros que serão necessários para criação de uma imagem docker. Após inserir as informações dentro do Dockerfile, é necessário “buildar” o arquivo para que assim seja criado a imagem do container. O comando para fazer a build do Dockerfile é: $ docker build -t ubuntu:18.04 . Imagem de um arquivo Dockerfile
  • 11. Docker para Iniciantes Após feito a build, é possível ver a imagem ubuntu:18.04 criada. Como criar Imagens e Containers OBS: Quando a imagem for criada, ela irá permanecer no seu Docker, evitando que o Docker faça novamente um pull da imagem.
  • 12. Docker para Iniciantes Com a imagem criada, chegou a hora de criar um container. Pode ser usado tanto a linha de comando, como também o docker-compose.yml. Seguindo com a linha de comando, ao executar: $docker container run -it ubuntu:18.04 /bin/bash Cria-se um container com interação e apenas com o processo do bash. A mágica de usar container Docker, é que ele executa apenas os processos necessários para que a aplicação rode normalmente. Como criar Imagens e Containers
  • 13. Docker para Iniciantes Com o container em execução, pode-se usar alguns “commands lines” para administrá-lo. Como criar Imagens e Containers Para saber informações como: IP, portas utilizadas, localização de volumes... pode-se usar o parâmetro inspect, porém recomenda-se ler a documentação para não se perder entre as linhas que este comando retorna. https://docs.docker.com/engine/reference/commandline/inspect/
  • 14. Docker para Iniciantes O comando “attach” serve para conectar diretamente a um container em execução. $docker attach ID_DO_CONTAINER Como criar Imagens e Containers Também é possível rodar comandos sem acessar o container, usando o comando “exec”: $docker exec ID_DO_CONTAINER ps -ef Fonte: https://docs.docker.com/engine/reference/commandline/docker/
  • 15. Docker para Iniciantes O Docker Swarm é um orquestrador nativo do Docker, que permite a criação de clusters de Docker, ou seja, podemos fazer com que diversos hosts de Docker estejam dentro do mesmo pool de recursos, facilitando assim o deploy de containers. Swarm e kubernetes
  • 16. Docker para Iniciantes O Kubernetes, assim como o Swarm, também é um orquestrador de containers, porém é mais complexo. O uso do kubernetes requer mais conhecimento de infraestrutura, pois trabalha muito com o S.O.. O kubernetes está mais para ambientes de médio e grande porte, pois já está no mercado a muito tempo, ao contrário do Docker Swarm, que é um orquestrador ainda em fase de amadurecimento. Swarm e kubernetes
  • 17. Docker para Iniciantes Agilidade no Deploy; Não é necessário subir uma instância ou instalar um servidor todo apenas para testar algo, basta criar um container e subir a aplicação; Controle da versionamento; É possível adicionar alterações na aplicação e caso der algo errado, o caminho de retorno já está feito; Multiplataforma; Pode ser usado em diversos tipos de ambientes, seja data centers físicos ou cloud. Não há restrições para qual tipo de ambiente pode ser incorporado. O Docker pode ser facilmente migrado à infraestrutura como código. Ágil; A capacidade de implantação de uma aplicação ou a recuperação da mesma, é o que faz o Docker se destacar. Vantagens de usar Docker
  • 18. Docker para Iniciantes Além de todas a maravilhas já citadas no Docker, existe algo que não foi abordado, chama-se Integração. O Docker tem contribuído para que as equipes de Dev e Ops trabalhem integradas em prol do projeto. O Docker permite também que o desenvolvedor tenha todo o seu ambiente de desenvolvimento e teste totalmente agnóstico da infraestrutura. Docker e DevOps
  • 19. Docker para Iniciantes O Portainer é um gerenciador do tipo web, seu principal serviço é gerenciar containers Docker. Uma das principais características da ferramenta está na produtividade quanto ao gerenciamento dos containers. Portainer.io
  • 21. OBRIGADO! Rodrigo Rodrigues, RR E-mail: 0rr@outlook.com.br Telegram: @rr_inf LinkedIn: linkedin.com/in/rrinf/