SlideShare uma empresa Scribd logo
1 de 21
Baixar para ler offline
Conceitos básicos: uso de container
em produção e desenvolvimento
O que é um container ?
● Conjunto padronizado de um ou mais processos organizados
e suas dependências sendo executados isoladamente do sistema host.
Características Básicas
➔ projetos sandbox
➔ processos enjaulados
➔ virtualização da aplicação
Virtual Machines e Containers
◼ VMs - virtualização do sistema ◼ Containers - virtualização da aplicação
docker
FÍSICO
VM
CONTAINER
volume
/dir
Host
volume
/dir
volume
/dir
volume
/dir
docker
Estrutura básica
Analogia – POO
Objeto Instanciado
Classes
docker
Persistência
volume
/dir
Host
volume
/dir
Docker Container
Premissas
Containers:
➔ são voláteis
➔ são descartáveis
➔ são isolados
➔ são instâncias de imagens
➔ não armazenam dados
➔ não são persistentes
Dados devem ser
armazenados em volumes
docker
Dockerfile
Dockerfile
➔ Instruções de como
construir uma imagem
➔ usado para customizar uma
imagem
➔ usa uma imagem base
➔ hub.docker.com
➔ compartilhar imagens
docker
Exemplo
volume
/dir
Host
Volume é uma área do host montada dentro do
container. É o “compartilhamento” de um diretório
entre host e container
php:apache meuapp /var/www/html
Docker Hub
hub.docker.com
volume
/dir
Host
docker
Exemplo
~/docker $> docker run -d --name meuapp -p 80:80 -v "$PWD":/var/www/html php:apache
~/docker $> ec2f16f018e572e221af1e6d18179fcf4a6b4d607350c94f7254c41b4ee3a62c
~/docker $> |
docker
Exemplo
~/docker $> index.php
docker
Exemplo
~/docker $> docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ec2f16f018e5 php:apache "docker-php-ent…" 19 minutes ago Up 19 minutes 80/tcp meuapp
~/docker $> docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
php apache 5dbab082fa77 3 days ago 378MB
drupal latest e4207c5bbdec 5 months ago 446MB
nginx latest e81eb098537d 5 months ago 109MB
php 5-apache 648f6b943bfc 5 months ago 355MB
postgres 9.5 1dbed2567d30 5 months ago 225MB
mysql 5.7 ae6b78bedf88 5 months ago 372MB
debian stretch-slim 4b4471f624dc 6 months ago 55.3MB
elasticsearch 2 5e9d896dc62c 8 months ago 479MB
fparreira/testing-node latest b22e11b1838c 6 months ago 63MB
wordpress latest d3a744e0e523 3 days ago 421MB
docker
Docker Compose
container Stack
container
Stack
container
container
Stack
container
container
container
docker-compose.yml docker-compose.yml docker-compose.yml
version: '3'
services:
ifsp-moodle-db:
image: mysql:5
volumes:
- ifsp-moodle-db-volume:/var/lib/mysql
networks:
- moodle-net
ifsp-moodle:
image: bitnami/moodle:latest
links:
- ifsp-moodle-db:DB
depends_on:
- ifsp-moodle-db
volumes:
- ifsp-moodle-data:/var/moodledata
ports:
- 80:80
- 443:443
volumes:
ifsp-moodle-db-volume:
ifsp-moodle-data:
networks:
docker-compose.yml
HOST
container Stack
container
container Stack
container
docker
Docker Compose
IFSP Votuporanga
IFSP Votuporanga - docker images
IFSP Votuporanga - docker containers
IFSP Votuporanga - docker stacks
IFSP Votuporanga
IFSP Votuporanga
docker
gerenciador de containers proxy docker
Orquestração
load balancing
alta disponibilidade
clusterização
Orquestração
load balancing
alta disponibilidade
clusterização
Orquestração
load balancing
alta disponibilidade
clusterização
proxy docker
Dúvidas ? ?
Links / Contatos
docker.com
oficial
hub.docker.com
repositórios de imagens
docs.docker.com
documentação completa do docker
dockercon.com
evento mundial com vídeos disponíveis
labs.play-with-k8s.com
emulador online de kubernetes
labs.play-with-docker.com
emulador online de containers docker
Carlos Eduardo (Cadu) - Tec.TI
carloskdu@ifsp.edu.br
Fernando Parreira - Tec.TI
fparreira@ifsp.edu.br
Ramal (DDR)
(17) 3426.6999
cti.vtp@ifsp.edu.br
vtp.ifsp.edu.br

Mais conteúdo relacionado

Mais procurados

ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018
ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018
ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018Renato Groff
 
Um milhao de usuários simultâneos
Um milhao de usuários simultâneosUm milhao de usuários simultâneos
Um milhao de usuários simultâneosFernando Ike
 
TDC2018SP | Trilha Containers - Linux Conteineres na unha
TDC2018SP | Trilha Containers - Linux Conteineres na unhaTDC2018SP | Trilha Containers - Linux Conteineres na unha
TDC2018SP | Trilha Containers - Linux Conteineres na unhatdc-globalcode
 
Docker: um linux container engine
Docker:  um linux container engineDocker:  um linux container engine
Docker: um linux container engineHudson Brendon
 
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...tdc-globalcode
 
Docker na vida real
Docker na vida realDocker na vida real
Docker na vida realFernando Ike
 
Docker, facilitando a vida do desenvolvimento
Docker, facilitando a vida do desenvolvimentoDocker, facilitando a vida do desenvolvimento
Docker, facilitando a vida do desenvolvimentoSérgio Lima
 
Troubleshooting docker
Troubleshooting dockerTroubleshooting docker
Troubleshooting dockerRafael Gomes
 
TDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop dockerTDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop dockerRafael Gomes
 
Dockerizando aplicações em uma fintech o bom, o mau e o feio as surpresas
Dockerizando aplicações em uma fintech  o bom, o mau e o feio as surpresasDockerizando aplicações em uma fintech  o bom, o mau e o feio as surpresas
Dockerizando aplicações em uma fintech o bom, o mau e o feio as surpresasRafael Gomes
 
NodeJS - Tutorial de forma simples e pratica.
NodeJS - Tutorial de forma simples e pratica.NodeJS - Tutorial de forma simples e pratica.
NodeJS - Tutorial de forma simples e pratica.Filipe Morelli
 
Docker para Desenvolvedores - Developers-BR - Agosto-2018
Docker para Desenvolvedores - Developers-BR - Agosto-2018Docker para Desenvolvedores - Developers-BR - Agosto-2018
Docker para Desenvolvedores - Developers-BR - Agosto-2018Renato Groff
 
Desenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando DockerDesenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando DockerBruno Ricardo Siqueira
 
TDC2018SP | Trilha Containers - Kubernetes: como a magica acontece?
TDC2018SP | Trilha Containers - Kubernetes: como a magica acontece?TDC2018SP | Trilha Containers - Kubernetes: como a magica acontece?
TDC2018SP | Trilha Containers - Kubernetes: como a magica acontece?tdc-globalcode
 
Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...
Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...
Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...Renato Groff
 

Mais procurados (20)

ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018
ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018
ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018
 
Um milhao de usuários simultâneos
Um milhao de usuários simultâneosUm milhao de usuários simultâneos
Um milhao de usuários simultâneos
 
Iniciando com docker
Iniciando com dockerIniciando com docker
Iniciando com docker
 
TDC2018SP | Trilha Containers - Linux Conteineres na unha
TDC2018SP | Trilha Containers - Linux Conteineres na unhaTDC2018SP | Trilha Containers - Linux Conteineres na unha
TDC2018SP | Trilha Containers - Linux Conteineres na unha
 
Introdução ao docker
Introdução ao dockerIntrodução ao docker
Introdução ao docker
 
Docker: um linux container engine
Docker:  um linux container engineDocker:  um linux container engine
Docker: um linux container engine
 
Docker volumes
Docker volumesDocker volumes
Docker volumes
 
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
TDC2018SP | Trilha Containers - Provisionando um cluster Kubernetes multi-mas...
 
Workshop Docker
Workshop DockerWorkshop Docker
Workshop Docker
 
Bem vindo ao Docker
Bem vindo ao DockerBem vindo ao Docker
Bem vindo ao Docker
 
Docker na vida real
Docker na vida realDocker na vida real
Docker na vida real
 
Docker, facilitando a vida do desenvolvimento
Docker, facilitando a vida do desenvolvimentoDocker, facilitando a vida do desenvolvimento
Docker, facilitando a vida do desenvolvimento
 
Troubleshooting docker
Troubleshooting dockerTroubleshooting docker
Troubleshooting docker
 
TDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop dockerTDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop docker
 
Dockerizando aplicações em uma fintech o bom, o mau e o feio as surpresas
Dockerizando aplicações em uma fintech  o bom, o mau e o feio as surpresasDockerizando aplicações em uma fintech  o bom, o mau e o feio as surpresas
Dockerizando aplicações em uma fintech o bom, o mau e o feio as surpresas
 
NodeJS - Tutorial de forma simples e pratica.
NodeJS - Tutorial de forma simples e pratica.NodeJS - Tutorial de forma simples e pratica.
NodeJS - Tutorial de forma simples e pratica.
 
Docker para Desenvolvedores - Developers-BR - Agosto-2018
Docker para Desenvolvedores - Developers-BR - Agosto-2018Docker para Desenvolvedores - Developers-BR - Agosto-2018
Docker para Desenvolvedores - Developers-BR - Agosto-2018
 
Desenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando DockerDesenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando Docker
 
TDC2018SP | Trilha Containers - Kubernetes: como a magica acontece?
TDC2018SP | Trilha Containers - Kubernetes: como a magica acontece?TDC2018SP | Trilha Containers - Kubernetes: como a magica acontece?
TDC2018SP | Trilha Containers - Kubernetes: como a magica acontece?
 
Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...
Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...
Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...
 

Semelhante a Conceitos básicos de containers para desenvolvimento e produção

Docker - Tutorial for beginners
Docker - Tutorial for beginnersDocker - Tutorial for beginners
Docker - Tutorial for beginnersRafael Chiavegatto
 
Containers PostgreSQL com a Crunchy Container Suite
Containers PostgreSQL com a Crunchy Container SuiteContainers PostgreSQL com a Crunchy Container Suite
Containers PostgreSQL com a Crunchy Container SuiteRoberto Mello
 
Docker Para Maiores - GDG Cabreúva
Docker Para Maiores - GDG CabreúvaDocker Para Maiores - GDG Cabreúva
Docker Para Maiores - GDG CabreúvaMatheus Fidelis
 
Source-to-container no mundo real
Source-to-container no mundo realSource-to-container no mundo real
Source-to-container no mundo realEvandro Silvestre
 
Desenvolvendo para WordPress com Docker, Git e WP-CLI
Desenvolvendo para WordPress com Docker, Git e WP-CLIDesenvolvendo para WordPress com Docker, Git e WP-CLI
Desenvolvendo para WordPress com Docker, Git e WP-CLIRudá Almeida
 
Docker 1.12 - Swarm Mode
Docker 1.12 - Swarm ModeDocker 1.12 - Swarm Mode
Docker 1.12 - Swarm ModeRafael Gomes
 
Trabalhando em ambientes php com docker
Trabalhando em ambientes php com dockerTrabalhando em ambientes php com docker
Trabalhando em ambientes php com dockerAlef Castelo
 
Introdução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfIntrodução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfdadalt1
 
Workshop Microservices - Distribuindo os Microservices com Docker e Kubernetes
Workshop Microservices - Distribuindo os Microservices com Docker e KubernetesWorkshop Microservices - Distribuindo os Microservices com Docker e Kubernetes
Workshop Microservices - Distribuindo os Microservices com Docker e KubernetesRodrigo Cândido da Silva
 
Docker Swarm - Sua aplicação pronta para escalar
Docker Swarm - Sua aplicação pronta para escalarDocker Swarm - Sua aplicação pronta para escalar
Docker Swarm - Sua aplicação pronta para escalargustavomtborges
 
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
 
Introdução ao docker
Introdução ao dockerIntrodução ao docker
Introdução ao dockerBenicio Ávila
 
Beers & Bytes - O Futuro da virtualização
Beers & Bytes - O Futuro da virtualizaçãoBeers & Bytes - O Futuro da virtualização
Beers & Bytes - O Futuro da virtualizaçãoCarlos Smaniotto
 
Docker - minicurso utfpr 2017
Docker -  minicurso utfpr 2017Docker -  minicurso utfpr 2017
Docker - minicurso utfpr 2017Fabio Janiszevski
 
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 DevelopersDextra Sistemas / Etec Itu
 

Semelhante a Conceitos básicos de containers para desenvolvimento e produção (20)

Docker - Tutorial for beginners
Docker - Tutorial for beginnersDocker - Tutorial for beginners
Docker - Tutorial for beginners
 
Containers PostgreSQL com a Crunchy Container Suite
Containers PostgreSQL com a Crunchy Container SuiteContainers PostgreSQL com a Crunchy Container Suite
Containers PostgreSQL com a Crunchy Container Suite
 
Docker Para Maiores - GDG Cabreúva
Docker Para Maiores - GDG CabreúvaDocker Para Maiores - GDG Cabreúva
Docker Para Maiores - GDG Cabreúva
 
Source-to-container no mundo real
Source-to-container no mundo realSource-to-container no mundo real
Source-to-container no mundo real
 
Desenvolvendo para WordPress com Docker, Git e WP-CLI
Desenvolvendo para WordPress com Docker, Git e WP-CLIDesenvolvendo para WordPress com Docker, Git e WP-CLI
Desenvolvendo para WordPress com Docker, Git e WP-CLI
 
Docker 1.12 - Swarm Mode
Docker 1.12 - Swarm ModeDocker 1.12 - Swarm Mode
Docker 1.12 - Swarm Mode
 
Olá docker
Olá dockerOlá docker
Olá docker
 
Trabalhando em ambientes php com docker
Trabalhando em ambientes php com dockerTrabalhando em ambientes php com docker
Trabalhando em ambientes php com docker
 
Introdução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfIntrodução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdf
 
Workshop Microservices - Distribuindo os Microservices com Docker e Kubernetes
Workshop Microservices - Distribuindo os Microservices com Docker e KubernetesWorkshop Microservices - Distribuindo os Microservices com Docker e Kubernetes
Workshop Microservices - Distribuindo os Microservices com Docker e Kubernetes
 
Docker Swarm - Sua aplicação pronta para escalar
Docker Swarm - Sua aplicação pronta para escalarDocker Swarm - Sua aplicação pronta para escalar
Docker Swarm - Sua aplicação pronta para escalar
 
Docker para maiores
Docker para maioresDocker para maiores
Docker para maiores
 
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
DockerDocker
Docker
 
Introdução ao docker
Introdução ao dockerIntrodução ao docker
Introdução ao docker
 
Beers & Bytes - O Futuro da virtualização
Beers & Bytes - O Futuro da virtualizaçãoBeers & Bytes - O Futuro da virtualização
Beers & Bytes - O Futuro da virtualização
 
Docker - minicurso utfpr 2017
Docker -  minicurso utfpr 2017Docker -  minicurso utfpr 2017
Docker - minicurso utfpr 2017
 
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
 
Ambiente de desenvolvimento com docker e ruby on rails
Ambiente de desenvolvimento com  docker e ruby on railsAmbiente de desenvolvimento com  docker e ruby on rails
Ambiente de desenvolvimento com docker e ruby on rails
 
Usando Docker no desenvolvimento .NET
Usando Docker no desenvolvimento .NETUsando Docker no desenvolvimento .NET
Usando Docker no desenvolvimento .NET
 

Conceitos básicos de containers para desenvolvimento e produção