SlideShare uma empresa Scribd logo
EQUIPE: Benicio, Aluisio e Matheus
O que é?
É uma plataforma
aberta para
desenvolvedores e
administradores
de sistemas para
construir, entregar
e rodar aplicações
distribuidas
O que é?
Docker não é uma ferramenta de virtualização de
máquinas, ele é um ambiente de virtualização de
Linux, construído sobre os LinuX Containers (LxC), que
utiliza a funcionalidade cgroups para criar e rodar
ambientes Linux virtuais isolados em um único host.
Composto:
* Docker Engine
* Docker Hub
Docker Engine
que é uma leve
ferramenta de execução
e empacotamento.
Composto:
Docker Hub,
um serviço em nuvem responsável pelo compartilhamento
de aplicações e automação de fluxos de trabalho.
(Imagens)
Dilema do Docker
O Docker permite que as aplicações sejam rapidamente
montadas e elimina o atrito e a diferença entre os
ambientes de desenvolvimento, testes e produção, ou seja,
sem essa de
“Na minha máquina funciona”
“Mas eu testei!!!”
“Estranho? Parou de funcionar do nada”!
“Será que vai dar problema se eu alterar isso?”
O que são Containers?
Nada mais é que um chroot. Nele é possível definir recursos
como memória, rede, sistema operacional, aplicação, serviço e
etc. Em um Container Docker é possível fazer testes,
desenvolvimentos, estudos, etc. Além disso, também é possível
utilizá-lo em um ambiente de produção.
Porque usar Containers?
Velocidade;
Boot em questão de segundos;
Economia de recursos;
Os processos rodando dentro de um container são vistos como
um processo no sistema Host;
É possível subir vários containers ao mesmo tempo, consumindo
o minimo de recursos do hardware físico ou virtual.
Containers x Máquinas Vituais
O que é uma imagem?
Uma imagem é um template para rodar um
container. Uma imagem é dividida em várias
camadas de acordo com a execução de
comandos durante seu build.
Essas imagens podem ficar armazenadas no
DockerHub, que é repositório público e privado
que disponibiliza diversos recursos como
sistema de autenticação, build de imagens
automático, entre outros.
Mas as imagens do DockerHub são
confiáveis?
Caso não confie em uma imagem baixada do
DockerHub, basta executar o comando "docker
inspect (nome da imagem)" para listar todas as
informações contidas naquela imagem.
E as camadas?
Para visualizar as camadas, utilizamos o comando "docker history (nome da imagem)"
Saída do comando:
IMAGE CREATED CREATED BY SIZE COMMENT
9f587567bce1 33 hours ago /bin/sh -c #(nop) ENTRYPOINT ["/usr/sbin/htt 0 B
240465ca487d 33 hours ago /bin/sh -c #(nop) EXPOSE 80/tcp 0 B
94643bf2f8a9 33 hours ago /bin/sh -c #(nop) LABEL Description=Apache S 0 B
4687cdc38101 34 hours ago /bin/sh -c yum update -y && yum install httpd 98.19 MB
dd1c6ab5681f 34 hours ago /bin/sh -c #(nop) MAINTAINER Matheus Alves e 0 B
cf2c3ece5e41 12 weeks ago /bin/sh -c #(nop) CMD ["/bin/bash"] 0 B
<missing> 12 weeks ago /bin/sh -c #(nop) LABEL name=CentOS Base Imag 0 B
<missing> 12 weeks ago /bin/sh -c #(nop) ADD file:f0ec297ab653ffb2c5 194.6 MB
<missing> 12 weeks ago /bin/sh -c #(nop) MAINTAINER https://github.c 0 B
O que é um Dockerfile
O Dockerfile é um arquivo onde são determinados todos os
detalhes de uma imagem. Nele são especificados a imagem
que vai ser utilizada, aplicativos que serão instalados, comandos
a serem executados, etc. Ele se assemelha ao makefile utilizado
para compilação de programas em C, por exemplo, mas para criação
de imagens.
Exemplo de Dockerfile
FROM centos:6
MAINTAINER Matheus Alves emmanoelcoelholima@gmail.com
RUN yum update -y && yum install httpd -y && yum clean all
ENV NO_PROXY="localhost"
LABEL Description="Apache Server"
VOLUME /var/www/html/
EXPOSE 80
ENTRYPOINT ["/usr/sbin/httpd","-D","FOREGROUND"]
Comandos Utilizados
FROM => Indica a imagem que vai ser utilizada como base.
MAINTAINER => Autor da imagem.
RUN => Executa comandos durante a criação da imagem.
ENV => Define variáveis de ambiente.
LABEL => Adiciona metadados à imagem.
VOLUME => Define um volume a ser montado no container.
EXPOSE => Informa portas nas quais o container vai ficar ouvindo.
ENTRYPOINT => Permite rodar um executável. O container será
finalizado após o término da execução do mesmo.
Outros Comandos
ADD => Copia arquivos, diretórios, arquivos TAR ou outros arquivos
remotos e os adicionam ao filesystem do container.
CMD => Executa um comando no inicio da execução do container.
COPY => Copia novos arquivos e diretórios e os adicionam ao
filesystem do container.
USER => Determina qual o usuário será utilizado na imagem.
WORKDIR => Altera o diretorio / para o especificado.
Executando o build do Dockerfile
Para executar o build de um Dockerfile como esse do exemplo,
basta usar o comando "docker build -t apache:1.0 .", caso esteja no
mesmo diretório do Dockerfile, ou substituir o ponto pelo caminho do
diretório em que o Dockerfile se localiza. Após a execução do build
estará disponível uma imagem com a tag especificada para a utilização
em novos containers.
Instalação
https://www.docker.com/
Plataformas suportadas
Instalação Windows
▪ Requisitos
Windows 10 Pro 64 bits
Enterprise and Education (1511 November
update, Build 10586 or later)
Microsoft Hyper-V
Instalação Windows
1 - Instalar o arquivo
InstallDocker.msi
2 - E Inciar o Docker For Windows
Configuração
Testando a instalação
Escolha seu terminal favorito!
1 – Prompt
2 - Power shell
3 - Cheque a versão ‘docker --version’
Criando um container Ubuntu
Exemplo prático
1 - Baixar um container Ubuntu
2 - Instalar um servidor Web (Nginx)
3 - Salvar este container com o servidor instalado
4 - Iniciar um novo container a partir dessa imagem
5 - Acessar uma página web deste serviço.
Comandos do Exemplo
1 - docker run -i -t ubuntu /bin/bash
2 - apt-get update && apt-get install -y nginx
3 - /etc/init.d/ngninx start
4 - docker commit <id> testefa7/ubuntu:version1
5 - docker images
6 - docker run -i -t -p 8080:80 testefa7/ubuntu:version1 /bin/bash
7 - docker attach id

Mais conteúdo relacionado

Mais procurados

Treinamento Docker Básico
Treinamento Docker BásicoTreinamento Docker Básico
Treinamento Docker Básico
André Justi
 
Docker para iniciantes
Docker para iniciantesDocker para iniciantes
Docker para iniciantes
Rodrigo Rodrigues
 
Apresentacao docker
Apresentacao dockerApresentacao docker
Apresentacao docker
Mauricio Martins
 
Apresentação Docker
Apresentação DockerApresentação Docker
Apresentação Docker
André Justi
 
Docker - Básico
Docker - BásicoDocker - Básico
Docker - Básico
Thiago Garcia Alves
 
Docker compose
Docker composeDocker compose
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Renato Groff
 
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
 
Usp codelabs (docker)
Usp codelabs (docker)Usp codelabs (docker)
Usp codelabs (docker)
TechCobli
 
O que é Docker?
O que é Docker?O que é Docker?
O que é Docker?
Rodrigo Emereciano
 
Docker: uma visão geral
Docker: uma visão geralDocker: uma visão geral
Docker: uma visão geral
Michael Castillo Granados
 
Docker - minicurso utfpr 2017
Docker -  minicurso utfpr 2017Docker -  minicurso utfpr 2017
Docker - minicurso utfpr 2017
Fabio Janiszevski
 
Introdução ao docker
Introdução ao dockerIntrodução ao docker
Introdução ao docker
Hugo Leonardo Costa e Silva
 
Docker na vida real
Docker na vida realDocker na vida real
Docker na vida real
Fernando Ike
 
Padrōes, Especificações, Runtimes: construindo containers melhores
Padrōes, Especificações, Runtimes: construindo containers melhoresPadrōes, Especificações, Runtimes: construindo containers melhores
Padrōes, Especificações, Runtimes: construindo containers melhores
Carlos Andre Fernandes
 
Aulão de docker
Aulão de dockerAulão de docker
Aulão de docker
Renato Lucena
 
Apresentação docker
Apresentação dockerApresentação docker
Apresentação docker
Marcelo Fleury
 
Crud
CrudCrud
O que é docker?
O que é docker?O que é docker?
O que é docker?
Waldemar Neto
 
Apresentação maven
Apresentação mavenApresentação maven
Apresentação maven
André Justi
 

Mais procurados (20)

Treinamento Docker Básico
Treinamento Docker BásicoTreinamento Docker Básico
Treinamento Docker Básico
 
Docker para iniciantes
Docker para iniciantesDocker para iniciantes
Docker para iniciantes
 
Apresentacao docker
Apresentacao dockerApresentacao docker
Apresentacao docker
 
Apresentação Docker
Apresentação DockerApresentação Docker
Apresentação Docker
 
Docker - Básico
Docker - BásicoDocker - Básico
Docker - Básico
 
Docker compose
Docker composeDocker compose
Docker compose
 
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
 
Docker e suas tecnologias por @cesarnog
Docker e suas tecnologias por @cesarnogDocker e suas tecnologias por @cesarnog
Docker e suas tecnologias por @cesarnog
 
Usp codelabs (docker)
Usp codelabs (docker)Usp codelabs (docker)
Usp codelabs (docker)
 
O que é Docker?
O que é Docker?O que é Docker?
O que é Docker?
 
Docker: uma visão geral
Docker: uma visão geralDocker: uma visão geral
Docker: uma visão geral
 
Docker - minicurso utfpr 2017
Docker -  minicurso utfpr 2017Docker -  minicurso utfpr 2017
Docker - minicurso utfpr 2017
 
Introdução ao docker
Introdução ao dockerIntrodução ao docker
Introdução ao docker
 
Docker na vida real
Docker na vida realDocker na vida real
Docker na vida real
 
Padrōes, Especificações, Runtimes: construindo containers melhores
Padrōes, Especificações, Runtimes: construindo containers melhoresPadrōes, Especificações, Runtimes: construindo containers melhores
Padrōes, Especificações, Runtimes: construindo containers melhores
 
Aulão de docker
Aulão de dockerAulão de docker
Aulão de docker
 
Apresentação docker
Apresentação dockerApresentação docker
Apresentação docker
 
Crud
CrudCrud
Crud
 
O que é docker?
O que é docker?O que é docker?
O que é docker?
 
Apresentação maven
Apresentação mavenApresentação maven
Apresentação maven
 

Destaque

Docker introduction
Docker introductionDocker introduction
Docker introduction
dotCloud
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
Chris Chen
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
Robert Reiz
 
What's New in Docker - February 2017
What's New in Docker - February 2017What's New in Docker - February 2017
What's New in Docker - February 2017
Patrick Chanezon
 
Why Docker
Why DockerWhy Docker
Why Docker
dotCloud
 
Docker
DockerDocker
Learning Docker with Thomas
Learning Docker with ThomasLearning Docker with Thomas
Learning Docker with Thomas
Thomas Tong, FRM, PMP
 
Docker: the road ahead
Docker: the road aheadDocker: the road ahead
Docker: the road ahead
shykes
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
Aluisio Junior
 
Docker 101: Introduction to Docker
Docker 101: Introduction to DockerDocker 101: Introduction to Docker
Docker 101: Introduction to Docker
Docker, Inc.
 
A Gentle Introduction To Docker And All Things Containers
A Gentle Introduction To Docker And All Things ContainersA Gentle Introduction To Docker And All Things Containers
A Gentle Introduction To Docker And All Things Containers
Jérôme Petazzoni
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
Jeffrey Ellin
 
Docker 101: An Introduction
Docker 101: An IntroductionDocker 101: An Introduction
Docker 101: An Introduction
POSSCON
 
WSO2Con ASIA 2016: Revolutionizing WSO2 App Cloud with Kubernetes & Docker
WSO2Con ASIA 2016: Revolutionizing WSO2 App Cloud with Kubernetes & DockerWSO2Con ASIA 2016: Revolutionizing WSO2 App Cloud with Kubernetes & Docker
WSO2Con ASIA 2016: Revolutionizing WSO2 App Cloud with Kubernetes & Docker
WSO2
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
Wei-Ting Kuo
 
Codefresh + Cloud 66 webinar: Testing Strategies for Docker Driven Development
Codefresh + Cloud 66 webinar: Testing Strategies for Docker Driven DevelopmentCodefresh + Cloud 66 webinar: Testing Strategies for Docker Driven Development
Codefresh + Cloud 66 webinar: Testing Strategies for Docker Driven Development
Codefresh
 
何者(Dockerって)
何者(Dockerって)何者(Dockerって)
何者(Dockerって)
Koji Saiki
 
Continuous delivery with docker
Continuous delivery with dockerContinuous delivery with docker
Continuous delivery with docker
Johan Janssen
 
Google cloud: Big Data + docker = kubernetes
Google cloud: Big Data + docker = kubernetesGoogle cloud: Big Data + docker = kubernetes
Google cloud: Big Data + docker = kubernetes
Giuliano Latini
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
John Willis
 

Destaque (20)

Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
What's New in Docker - February 2017
What's New in Docker - February 2017What's New in Docker - February 2017
What's New in Docker - February 2017
 
Why Docker
Why DockerWhy Docker
Why Docker
 
Docker
DockerDocker
Docker
 
Learning Docker with Thomas
Learning Docker with ThomasLearning Docker with Thomas
Learning Docker with Thomas
 
Docker: the road ahead
Docker: the road aheadDocker: the road ahead
Docker: the road ahead
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
Docker 101: Introduction to Docker
Docker 101: Introduction to DockerDocker 101: Introduction to Docker
Docker 101: Introduction to Docker
 
A Gentle Introduction To Docker And All Things Containers
A Gentle Introduction To Docker And All Things ContainersA Gentle Introduction To Docker And All Things Containers
A Gentle Introduction To Docker And All Things Containers
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Docker 101: An Introduction
Docker 101: An IntroductionDocker 101: An Introduction
Docker 101: An Introduction
 
WSO2Con ASIA 2016: Revolutionizing WSO2 App Cloud with Kubernetes & Docker
WSO2Con ASIA 2016: Revolutionizing WSO2 App Cloud with Kubernetes & DockerWSO2Con ASIA 2016: Revolutionizing WSO2 App Cloud with Kubernetes & Docker
WSO2Con ASIA 2016: Revolutionizing WSO2 App Cloud with Kubernetes & Docker
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
 
Codefresh + Cloud 66 webinar: Testing Strategies for Docker Driven Development
Codefresh + Cloud 66 webinar: Testing Strategies for Docker Driven DevelopmentCodefresh + Cloud 66 webinar: Testing Strategies for Docker Driven Development
Codefresh + Cloud 66 webinar: Testing Strategies for Docker Driven Development
 
何者(Dockerって)
何者(Dockerって)何者(Dockerって)
何者(Dockerって)
 
Continuous delivery with docker
Continuous delivery with dockerContinuous delivery with docker
Continuous delivery with docker
 
Google cloud: Big Data + docker = kubernetes
Google cloud: Big Data + docker = kubernetesGoogle cloud: Big Data + docker = kubernetes
Google cloud: Big Data + docker = kubernetes
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
 

Semelhante a Docker

Docker e suas tecnologias
Docker e suas tecnologiasDocker e suas tecnologias
Docker e suas tecnologias
Cesar Augusto Nogueira
 
Introdução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfIntrodução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdf
dadalt1
 
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
 
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
 
Freedomday2016 - Fique na caixinha, docker
Freedomday2016 - Fique na caixinha, dockerFreedomday2016 - Fique na caixinha, docker
Freedomday2016 - Fique na caixinha, docker
Eustaquio Guimaraes mendesbsb
 
Iniciando com docker
Iniciando com dockerIniciando com docker
Iniciando com docker
Daniel Madureira Batista
 
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
 
Docker meetup
Docker meetupDocker meetup
Docker meetup
Bianca Cristina
 
Alagoas Dev Day
Alagoas Dev DayAlagoas Dev Day
Alagoas Dev Day
Marcio Trindade
 
TDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop dockerTDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop docker
Rafael Gomes
 
Re pensando-virtualização-através-linux containers
Re pensando-virtualização-através-linux containersRe pensando-virtualização-através-linux containers
Re pensando-virtualização-através-linux containers
Francisco Gonçalves
 
Conheça o Docker
Conheça o DockerConheça o Docker
Conheça o Docker
Uira Ribeiro
 
Introdução ao Docker
Introdução ao DockerIntrodução ao Docker
Introdução ao Docker
Rafael Dutra
 
Docker
DockerDocker
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
Bruno Ricardo Siqueira
 
Docker: um linux container engine
Docker:  um linux container engineDocker:  um linux container engine
Docker: um linux container engine
Hudson Brendon
 
Docker Para Maiores - GDG Cabreúva
Docker Para Maiores - GDG CabreúvaDocker Para Maiores - GDG Cabreúva
Docker Para Maiores - GDG Cabreúva
Matheus Fidelis
 
Docker
DockerDocker
Docker
DockerDocker

Semelhante a Docker (20)

Docker e suas tecnologias
Docker e suas tecnologiasDocker e suas tecnologias
Docker e suas tecnologias
 
Introdução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfIntrodução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdf
 
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
 
Orquestrando ambientes com docker e kubernetes
Orquestrando ambientes com docker e kubernetes	Orquestrando ambientes com docker e kubernetes
Orquestrando ambientes com docker e kubernetes
 
Freedomday2016 - Fique na caixinha, docker
Freedomday2016 - Fique na caixinha, dockerFreedomday2016 - Fique na caixinha, docker
Freedomday2016 - Fique na caixinha, docker
 
Iniciando com docker
Iniciando com dockerIniciando com docker
Iniciando com 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
 
Docker meetup
Docker meetupDocker meetup
Docker meetup
 
Alagoas Dev Day
Alagoas Dev DayAlagoas Dev Day
Alagoas Dev Day
 
TDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop dockerTDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop docker
 
Re pensando-virtualização-através-linux containers
Re pensando-virtualização-através-linux containersRe pensando-virtualização-através-linux containers
Re pensando-virtualização-através-linux containers
 
Conheça o Docker
Conheça o DockerConheça o Docker
Conheça o Docker
 
Introdução ao Docker
Introdução ao DockerIntrodução ao Docker
Introdução ao Docker
 
Docker
DockerDocker
Docker
 
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
 
Docker: um linux container engine
Docker:  um linux container engineDocker:  um linux container engine
Docker: um linux container engine
 
Docker Para Maiores - GDG Cabreúva
Docker Para Maiores - GDG CabreúvaDocker Para Maiores - GDG Cabreúva
Docker Para Maiores - GDG Cabreúva
 
Docker
DockerDocker
Docker
 
Docker
DockerDocker
Docker
 

Último

INTELIGÊNCIA ARTIFICIAL + COMPUTAÇÃO QUÂNTICA = MAIOR REVOLUÇÃO TECNOLÓGICA D...
INTELIGÊNCIA ARTIFICIAL + COMPUTAÇÃO QUÂNTICA = MAIOR REVOLUÇÃO TECNOLÓGICA D...INTELIGÊNCIA ARTIFICIAL + COMPUTAÇÃO QUÂNTICA = MAIOR REVOLUÇÃO TECNOLÓGICA D...
INTELIGÊNCIA ARTIFICIAL + COMPUTAÇÃO QUÂNTICA = MAIOR REVOLUÇÃO TECNOLÓGICA D...
Faga1939
 
ExpoGestão 2024 - Inteligência Artificial – A revolução no mundo dos negócios
ExpoGestão 2024 - Inteligência Artificial – A revolução no mundo dos negóciosExpoGestão 2024 - Inteligência Artificial – A revolução no mundo dos negócios
ExpoGestão 2024 - Inteligência Artificial – A revolução no mundo dos negócios
ExpoGestão
 
Ferramentas que irão te ajudar a entrar no mundo de DevOps/CLoud
Ferramentas que irão te ajudar a entrar no mundo de   DevOps/CLoudFerramentas que irão te ajudar a entrar no mundo de   DevOps/CLoud
Ferramentas que irão te ajudar a entrar no mundo de DevOps/CLoud
Ismael Ash
 
Subindo uma aplicação WordPress em docker na AWS
Subindo uma aplicação WordPress em docker na AWSSubindo uma aplicação WordPress em docker na AWS
Subindo uma aplicação WordPress em docker na AWS
Ismael Ash
 
ExpoGestão 2024 - Desvendando um mundo em ebulição
ExpoGestão 2024 - Desvendando um mundo em ebuliçãoExpoGestão 2024 - Desvendando um mundo em ebulição
ExpoGestão 2024 - Desvendando um mundo em ebulição
ExpoGestão
 
se38_layout_erro_xxxxxxxxxxxxxxxxxx.docx
se38_layout_erro_xxxxxxxxxxxxxxxxxx.docxse38_layout_erro_xxxxxxxxxxxxxxxxxx.docx
se38_layout_erro_xxxxxxxxxxxxxxxxxx.docx
ronaldos10
 

Último (6)

INTELIGÊNCIA ARTIFICIAL + COMPUTAÇÃO QUÂNTICA = MAIOR REVOLUÇÃO TECNOLÓGICA D...
INTELIGÊNCIA ARTIFICIAL + COMPUTAÇÃO QUÂNTICA = MAIOR REVOLUÇÃO TECNOLÓGICA D...INTELIGÊNCIA ARTIFICIAL + COMPUTAÇÃO QUÂNTICA = MAIOR REVOLUÇÃO TECNOLÓGICA D...
INTELIGÊNCIA ARTIFICIAL + COMPUTAÇÃO QUÂNTICA = MAIOR REVOLUÇÃO TECNOLÓGICA D...
 
ExpoGestão 2024 - Inteligência Artificial – A revolução no mundo dos negócios
ExpoGestão 2024 - Inteligência Artificial – A revolução no mundo dos negóciosExpoGestão 2024 - Inteligência Artificial – A revolução no mundo dos negócios
ExpoGestão 2024 - Inteligência Artificial – A revolução no mundo dos negócios
 
Ferramentas que irão te ajudar a entrar no mundo de DevOps/CLoud
Ferramentas que irão te ajudar a entrar no mundo de   DevOps/CLoudFerramentas que irão te ajudar a entrar no mundo de   DevOps/CLoud
Ferramentas que irão te ajudar a entrar no mundo de DevOps/CLoud
 
Subindo uma aplicação WordPress em docker na AWS
Subindo uma aplicação WordPress em docker na AWSSubindo uma aplicação WordPress em docker na AWS
Subindo uma aplicação WordPress em docker na AWS
 
ExpoGestão 2024 - Desvendando um mundo em ebulição
ExpoGestão 2024 - Desvendando um mundo em ebuliçãoExpoGestão 2024 - Desvendando um mundo em ebulição
ExpoGestão 2024 - Desvendando um mundo em ebulição
 
se38_layout_erro_xxxxxxxxxxxxxxxxxx.docx
se38_layout_erro_xxxxxxxxxxxxxxxxxx.docxse38_layout_erro_xxxxxxxxxxxxxxxxxx.docx
se38_layout_erro_xxxxxxxxxxxxxxxxxx.docx
 

Docker

  • 2. O que é? É uma plataforma aberta para desenvolvedores e administradores de sistemas para construir, entregar e rodar aplicações distribuidas
  • 3. O que é? Docker não é uma ferramenta de virtualização de máquinas, ele é um ambiente de virtualização de Linux, construído sobre os LinuX Containers (LxC), que utiliza a funcionalidade cgroups para criar e rodar ambientes Linux virtuais isolados em um único host.
  • 4. Composto: * Docker Engine * Docker Hub Docker Engine que é uma leve ferramenta de execução e empacotamento.
  • 5. Composto: Docker Hub, um serviço em nuvem responsável pelo compartilhamento de aplicações e automação de fluxos de trabalho. (Imagens)
  • 6. Dilema do Docker O Docker permite que as aplicações sejam rapidamente montadas e elimina o atrito e a diferença entre os ambientes de desenvolvimento, testes e produção, ou seja, sem essa de “Na minha máquina funciona” “Mas eu testei!!!” “Estranho? Parou de funcionar do nada”! “Será que vai dar problema se eu alterar isso?”
  • 7. O que são Containers? Nada mais é que um chroot. Nele é possível definir recursos como memória, rede, sistema operacional, aplicação, serviço e etc. Em um Container Docker é possível fazer testes, desenvolvimentos, estudos, etc. Além disso, também é possível utilizá-lo em um ambiente de produção.
  • 8. Porque usar Containers? Velocidade; Boot em questão de segundos; Economia de recursos; Os processos rodando dentro de um container são vistos como um processo no sistema Host; É possível subir vários containers ao mesmo tempo, consumindo o minimo de recursos do hardware físico ou virtual.
  • 10. O que é uma imagem? Uma imagem é um template para rodar um container. Uma imagem é dividida em várias camadas de acordo com a execução de comandos durante seu build. Essas imagens podem ficar armazenadas no DockerHub, que é repositório público e privado que disponibiliza diversos recursos como sistema de autenticação, build de imagens automático, entre outros.
  • 11. Mas as imagens do DockerHub são confiáveis? Caso não confie em uma imagem baixada do DockerHub, basta executar o comando "docker inspect (nome da imagem)" para listar todas as informações contidas naquela imagem.
  • 12. E as camadas? Para visualizar as camadas, utilizamos o comando "docker history (nome da imagem)" Saída do comando: IMAGE CREATED CREATED BY SIZE COMMENT 9f587567bce1 33 hours ago /bin/sh -c #(nop) ENTRYPOINT ["/usr/sbin/htt 0 B 240465ca487d 33 hours ago /bin/sh -c #(nop) EXPOSE 80/tcp 0 B 94643bf2f8a9 33 hours ago /bin/sh -c #(nop) LABEL Description=Apache S 0 B 4687cdc38101 34 hours ago /bin/sh -c yum update -y && yum install httpd 98.19 MB dd1c6ab5681f 34 hours ago /bin/sh -c #(nop) MAINTAINER Matheus Alves e 0 B cf2c3ece5e41 12 weeks ago /bin/sh -c #(nop) CMD ["/bin/bash"] 0 B <missing> 12 weeks ago /bin/sh -c #(nop) LABEL name=CentOS Base Imag 0 B <missing> 12 weeks ago /bin/sh -c #(nop) ADD file:f0ec297ab653ffb2c5 194.6 MB <missing> 12 weeks ago /bin/sh -c #(nop) MAINTAINER https://github.c 0 B
  • 13. O que é um Dockerfile O Dockerfile é um arquivo onde são determinados todos os detalhes de uma imagem. Nele são especificados a imagem que vai ser utilizada, aplicativos que serão instalados, comandos a serem executados, etc. Ele se assemelha ao makefile utilizado para compilação de programas em C, por exemplo, mas para criação de imagens.
  • 14. Exemplo de Dockerfile FROM centos:6 MAINTAINER Matheus Alves emmanoelcoelholima@gmail.com RUN yum update -y && yum install httpd -y && yum clean all ENV NO_PROXY="localhost" LABEL Description="Apache Server" VOLUME /var/www/html/ EXPOSE 80 ENTRYPOINT ["/usr/sbin/httpd","-D","FOREGROUND"]
  • 15. Comandos Utilizados FROM => Indica a imagem que vai ser utilizada como base. MAINTAINER => Autor da imagem. RUN => Executa comandos durante a criação da imagem. ENV => Define variáveis de ambiente. LABEL => Adiciona metadados à imagem. VOLUME => Define um volume a ser montado no container. EXPOSE => Informa portas nas quais o container vai ficar ouvindo. ENTRYPOINT => Permite rodar um executável. O container será finalizado após o término da execução do mesmo.
  • 16. Outros Comandos ADD => Copia arquivos, diretórios, arquivos TAR ou outros arquivos remotos e os adicionam ao filesystem do container. CMD => Executa um comando no inicio da execução do container. COPY => Copia novos arquivos e diretórios e os adicionam ao filesystem do container. USER => Determina qual o usuário será utilizado na imagem. WORKDIR => Altera o diretorio / para o especificado.
  • 17. Executando o build do Dockerfile Para executar o build de um Dockerfile como esse do exemplo, basta usar o comando "docker build -t apache:1.0 .", caso esteja no mesmo diretório do Dockerfile, ou substituir o ponto pelo caminho do diretório em que o Dockerfile se localiza. Após a execução do build estará disponível uma imagem com a tag especificada para a utilização em novos containers.
  • 20. Instalação Windows ▪ Requisitos Windows 10 Pro 64 bits Enterprise and Education (1511 November update, Build 10586 or later) Microsoft Hyper-V
  • 21. Instalação Windows 1 - Instalar o arquivo InstallDocker.msi 2 - E Inciar o Docker For Windows Configuração
  • 23. Escolha seu terminal favorito! 1 – Prompt 2 - Power shell 3 - Cheque a versão ‘docker --version’
  • 25. Exemplo prático 1 - Baixar um container Ubuntu 2 - Instalar um servidor Web (Nginx) 3 - Salvar este container com o servidor instalado 4 - Iniciar um novo container a partir dessa imagem 5 - Acessar uma página web deste serviço.
  • 26. Comandos do Exemplo 1 - docker run -i -t ubuntu /bin/bash 2 - apt-get update && apt-get install -y nginx 3 - /etc/init.d/ngninx start 4 - docker commit <id> testefa7/ubuntu:version1 5 - docker images 6 - docker run -i -t -p 8080:80 testefa7/ubuntu:version1 /bin/bash 7 - docker attach id