SlideShare uma empresa Scribd logo
1 de 25
DOCKER
ALUNOS: DAN LÚCIO PRADA, NATALIA KELIM THIEL, RODRIGO CACHOEIRA
ORIENTADOR: WESLEY DOS REIS BEZERRA
SUMÁRIO
1. Virtualização
2. Docker
3. Objetivos
4. Soluções
5. Exemplos
6. Conclusões
VIRTUALIZAÇÃO
Virtualização
Algo real teria características físicas, concretas. Já o virtual está
associado aquilo que é simulado, abstrato.
A virtualização pode ser definida como a criação de um ambiente
virtual que simula um ambiente real, propiciando a utilização de
diversos sistemas e aplicativos sem a necessidade de acesso físico à
máquina na qual estão hospedados.
Virtualização
Isso reduz a relação de dependência que os recursos de computação
exercem entre si, pois possibilita, por exemplo, a dissociação entre
um aplicativo e o sistema operacional que ele utiliza.
Por exemplo, com o uso de virtualização é possível utilizar softwares
exclusivos de um S.O em outro, algo como o uso do Microsoft Word
no Linux.
Virtualização
Vantagens
Economia e otimização de recursos computacionais;
Independência de recursos e bibliotecas, pois o ambiente o qual a aplicação irá
rodar será configurada pelo desenvolvedor;
A economia barateia serviços que provem servidores, o que possibilita que
pequenas inovações tenham mais facilidade em alocar essas tecnologias para
seus projetos.
LXC
HTTPS://LINUXCONTAINERS.ORG/
Origem
Surgiu em sistemas GNU-Linux e engloba tecnologias já existentes.
Sendo o comando chroot seu precursor mais famoso que foi lançado
em 1979 pelo Unix V7 com o intuito de segregar acessos de
diretórios e evitar que o usuário possa ter acesso à estrutura raiz (“/”
ou root).
Com base na ideia de virtualização a nível de Sistema Operacional,
surge em 2008 o Linux Container ou LXC como é mais conhecido.
LXC
É uma tecnologia que permite a criação de múltiplas instâncias isoladas
de um determinado Sistema Operacional dentro de um único hospedeiro
ou em outras palavras, é uma maneira de virtualizar aplicações dentro de
um servidor GNU/Linux.
Ao comparar com a virtualização tradicional, fica mais claro que uma
aplicação sendo executada em um LXC demanda muito menos recursos,
consumindo menos espaço em disco e com um nível de portabilidade
difícil de ser alcançado por outras plataformas.
LXC
A grande diferença entre o chroot e o LXC é o nível de
segurança que se pode alcançar. Com relação à
virtualização, a diferença está no fato do LXC não necessitar
de uma camada de sistema operacional para cada aplicação,
como pode ser visto na figura a seguir:
Mercado
Mas não foi só a adoção de desenvolvedores e administradores
que tornou essa tecnologia recentemente tão popular. A
consolidação da virtualização no mercado e a crescente
demanda por computação em nuvem criaram o ambiente
perfeito para o LXC se espalhar rapidamente. Aplicações podem
ser portadas direto do notebook do desenvolvedor para o
servidor de produção, ou ainda para uma instância virtual em
uma nuvem pública.
Mercado
Suas facilidades de uso ficaram evidentes ao mercado com a
rápida adoção dos principais competidores de computação
em nuvem, que perceberam o valor do LXC e adequaram
seu catálogo para suportar essa implementação.
DOCKER
HTTPS://WWW.DOCKER.COM/
Introdução
Basicamente, o Docker é uma implementação open source de uma
virtualização a nível de sistema operacional (operating system level
virtualization).
É uma abordagem que tenta solucionar os problemas da virtualização de
hardware, que basicamente consiste em recursos limitados, ou seja,
virtualizar todo o hardware consome muito recurso.
Utiliza a tecnologia LXC.
Introdução
O Docker faz uso de parte do conceito de Software como Serviço,
frequentemente chamado SaaS (Software as a Service), o que é um método de
entrega que provê acesso remoto ao software e suas funções, baseado em
tecnologias como as de web-services.
Internamente sua estrutura é desenvolvida em GO e nasceu como um projeto
open source da DotCloud, uma empresa de PaaS (Platform as a Service) que
apesar de estar mais interessada em utilizar LXC apenas em suas aplicações,
acabou desenvolvendo um produto que foi muito bem aceito pelo mercado.
Funcionalidades
O Docker possibilita o empacotamento de uma aplicação ou ambiente
inteiro dentro de um container, e a partir desse momento o ambiente
inteiro torna-se portável para qualquer outro Host que contenha o Docker
instalado.
Isso reduz drasticamente o tempo de deploy de alguma infraestrutura ou
até mesmo aplicação, pois não há necessidade de ajustes de ambiente
para o correto funcionamento do serviço, o ambiente é sempre o mesmo,
configure-o uma vez e replique-o quantas vezes quiser.
Imagem
Fazendo um paralelo com o conceito de orientação a objeto, a imagem é a
classe e o container o objeto, ou seja, a imagem é a abstração da
infraestrutura em um estado somente leitura, que é de onde será
instanciado o container.
Todo container é iniciado a partir de uma imagem, dessa forma podemos
concluir que nunca teremos uma imagem em execução.
Um container só pode ser iniciado a partir de uma única imagem, ou
seja, caso deseje um comportamento diferente será necessário
customizar a imagem.
Imagem
Há duas formas de criar uma imagem:
◦Dando um commit em um container já criado, que foi
instanciado com outra imagem.
◦Iniciando uma nova imagem a partir de um dockerfile,
especificando todas as preferências, mas tendo como base
outra imagem.
Dockerfile
Container
O Container é uma instância de uma Imagem em execução
naquele momento.
As camadas são montadas como leitura e escrita. É onde de fato
estão as modificações da "máquina" em execução. Toda
modificação realizada em uma imagem é feita a partir de um
container com o commit citado anteriormente.
Container
Entretanto, as informações alteradas no container serão
perdidas na próxima vez em que ele for executado, caso não
haja commit para criar uma nova imagem.
Em essência, cada container executa um ambiente distindo, que
pode ser compartilhado entre outros container se necessário.
Container
OBRIGADO

Mais conteúdo relacionado

Mais procurados

Software livre, proprietário e comercial
Software livre, proprietário e comercialSoftware livre, proprietário e comercial
Software livre, proprietário e comercialHenrique Fonseca
 
Tipos de Licença de Softwares
Tipos de Licença de SoftwaresTipos de Licença de Softwares
Tipos de Licença de SoftwaresLucas Castejon
 
Desenvolvimento multiplataforma
Desenvolvimento multiplataformaDesenvolvimento multiplataforma
Desenvolvimento multiplataformastonefull
 
Engenharia rever sa mentebinaria
Engenharia rever sa   mentebinariaEngenharia rever sa   mentebinaria
Engenharia rever sa mentebinariaPatrese Renan
 
Software livre software proprietário software comercial
Software livre software proprietário  software comercialSoftware livre software proprietário  software comercial
Software livre software proprietário software comercialFlávio Simões
 
Programação Desktop: Uma abordagem com Java
Programação Desktop: Uma abordagem com JavaProgramação Desktop: Uma abordagem com Java
Programação Desktop: Uma abordagem com JavaRosicleia Frasson
 
Apostila - Desenvolvimento Web com ASP.NET
Apostila - Desenvolvimento Web com ASP.NETApostila - Desenvolvimento Web com ASP.NET
Apostila - Desenvolvimento Web com ASP.NETJosé Corrêa Viana
 
Poo1 aula 1 - java - história e introdução
Poo1   aula 1 - java -  história e introduçãoPoo1   aula 1 - java -  história e introdução
Poo1 aula 1 - java - história e introduçãoDenis Sobrenome
 
Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...
Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...
Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...Tchelinux
 
Ficha de trabalho_1
Ficha de trabalho_1Ficha de trabalho_1
Ficha de trabalho_1kamatozza
 
Jogos pe logica_aplicada_apostila_c_sharp
Jogos pe logica_aplicada_apostila_c_sharpJogos pe logica_aplicada_apostila_c_sharp
Jogos pe logica_aplicada_apostila_c_sharpPedro Vuvu Alvaro
 
.NET 6: O que há de novo e o que está por vir?
.NET 6: O que há de novo e o que está por vir?.NET 6: O que há de novo e o que está por vir?
.NET 6: O que há de novo e o que está por vir?Letticia Nicoli
 
softwares livres - open source
softwares livres - open sourcesoftwares livres - open source
softwares livres - open sourcetaniateb
 
Ficha de trabalho_1
Ficha de trabalho_1Ficha de trabalho_1
Ficha de trabalho_1fantic3o
 
Crisficha 1 1
Crisficha 1 1Crisficha 1 1
Crisficha 1 1sharik27
 

Mais procurados (19)

Linguagem c
Linguagem cLinguagem c
Linguagem c
 
Software Livre
Software LivreSoftware Livre
Software Livre
 
Software livre, proprietário e comercial
Software livre, proprietário e comercialSoftware livre, proprietário e comercial
Software livre, proprietário e comercial
 
Tipos de Licença de Softwares
Tipos de Licença de SoftwaresTipos de Licença de Softwares
Tipos de Licença de Softwares
 
Desenvolvimento multiplataforma
Desenvolvimento multiplataformaDesenvolvimento multiplataforma
Desenvolvimento multiplataforma
 
Engenharia rever sa mentebinaria
Engenharia rever sa   mentebinariaEngenharia rever sa   mentebinaria
Engenharia rever sa mentebinaria
 
Software livre software proprietário software comercial
Software livre software proprietário  software comercialSoftware livre software proprietário  software comercial
Software livre software proprietário software comercial
 
Programação Desktop: Uma abordagem com Java
Programação Desktop: Uma abordagem com JavaProgramação Desktop: Uma abordagem com Java
Programação Desktop: Uma abordagem com Java
 
Apostila - Desenvolvimento Web com ASP.NET
Apostila - Desenvolvimento Web com ASP.NETApostila - Desenvolvimento Web com ASP.NET
Apostila - Desenvolvimento Web com ASP.NET
 
Poo1 aula 1 - java - história e introdução
Poo1   aula 1 - java -  história e introduçãoPoo1   aula 1 - java -  história e introdução
Poo1 aula 1 - java - história e introdução
 
Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...
Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...
Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...
 
Ficha de trabalho_1
Ficha de trabalho_1Ficha de trabalho_1
Ficha de trabalho_1
 
Escalando apps com React e Type Script e SOLID
Escalando apps com React e Type Script e SOLIDEscalando apps com React e Type Script e SOLID
Escalando apps com React e Type Script e SOLID
 
Jogos pe logica_aplicada_apostila_c_sharp
Jogos pe logica_aplicada_apostila_c_sharpJogos pe logica_aplicada_apostila_c_sharp
Jogos pe logica_aplicada_apostila_c_sharp
 
2
22
2
 
.NET 6: O que há de novo e o que está por vir?
.NET 6: O que há de novo e o que está por vir?.NET 6: O que há de novo e o que está por vir?
.NET 6: O que há de novo e o que está por vir?
 
softwares livres - open source
softwares livres - open sourcesoftwares livres - open source
softwares livres - open source
 
Ficha de trabalho_1
Ficha de trabalho_1Ficha de trabalho_1
Ficha de trabalho_1
 
Crisficha 1 1
Crisficha 1 1Crisficha 1 1
Crisficha 1 1
 

Semelhante a Docker

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
 
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
 
Apresentação Docker
Apresentação DockerApresentação Docker
Apresentação DockerAndré Justi
 
Treinamento Docker Básico
Treinamento Docker BásicoTreinamento Docker Básico
Treinamento Docker BásicoAndré Justi
 
Introdução ao docker
Introdução ao dockerIntrodução ao docker
Introdução ao dockerBenicio Ávila
 
Usp codelabs (docker)
Usp codelabs (docker)Usp codelabs (docker)
Usp codelabs (docker)TechCobli
 
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ériosIsaac Maciel
 
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 dockerHerbethLucas1
 
O poder dos microsserviços com Docker e Kubernetes
O poder dos microsserviços com Docker e KubernetesO poder dos microsserviços com Docker e Kubernetes
O poder dos microsserviços com Docker e KubernetesWillian Azevedo
 
Introdução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfIntrodução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfdadalt1
 
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 containersFrancisco Gonçalves
 

Semelhante a Docker (20)

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.
 
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
 
Docker para iniciantes
Docker para iniciantesDocker para iniciantes
Docker para iniciantes
 
Apresentação Docker
Apresentação DockerApresentação Docker
Apresentação Docker
 
Treinamento Docker Básico
Treinamento Docker BásicoTreinamento Docker Básico
Treinamento Docker Básico
 
Iniciando com docker
Iniciando com dockerIniciando com docker
Iniciando com docker
 
Docker meetup
Docker meetupDocker meetup
Docker meetup
 
Introdução ao docker
Introdução ao dockerIntrodução ao docker
Introdução ao docker
 
Usp codelabs (docker)
Usp codelabs (docker)Usp codelabs (docker)
Usp codelabs (docker)
 
Docker
DockerDocker
Docker
 
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
 
DevOpsDays Brasilia 2017
DevOpsDays Brasilia 2017DevOpsDays Brasilia 2017
DevOpsDays Brasilia 2017
 
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
 
Docker - Básico
Docker - BásicoDocker - Básico
Docker - Básico
 
Olá docker
Olá dockerOlá docker
Olá docker
 
O poder dos microsserviços com Docker e Kubernetes
O poder dos microsserviços com Docker e KubernetesO poder dos microsserviços com Docker e Kubernetes
O poder dos microsserviços com Docker e Kubernetes
 
Introdução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdfIntrodução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdf
 
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
 
Artigo virtualização
Artigo virtualizaçãoArtigo virtualização
Artigo virtualização
 

Mais de Congresso Catarinense de Ciências da Computação

Mais de Congresso Catarinense de Ciências da Computação (18)

UTILIZANDO PROGRAMAÇÃO PARALELA NA CRIAÇÃO DE UM JOGO PARA AUXÍLIO NO ENSINO ...
UTILIZANDO PROGRAMAÇÃO PARALELA NA CRIAÇÃO DE UM JOGO PARA AUXÍLIO NO ENSINO ...UTILIZANDO PROGRAMAÇÃO PARALELA NA CRIAÇÃO DE UM JOGO PARA AUXÍLIO NO ENSINO ...
UTILIZANDO PROGRAMAÇÃO PARALELA NA CRIAÇÃO DE UM JOGO PARA AUXÍLIO NO ENSINO ...
 
Comparação entre bancos de dados de modelo não relacional
Comparação entre bancos de dados de modelo não relacionalComparação entre bancos de dados de modelo não relacional
Comparação entre bancos de dados de modelo não relacional
 
Jogo das derivadas
Jogo das derivadasJogo das derivadas
Jogo das derivadas
 
UTILIZAÇÃO DOS SISTEMAS DE SINGLE SIGN-ON (SSO) DO GOOGLE E FACEBOOK
UTILIZAÇÃO DOS SISTEMAS DE SINGLE SIGN-ON (SSO) DO GOOGLE E FACEBOOKUTILIZAÇÃO DOS SISTEMAS DE SINGLE SIGN-ON (SSO) DO GOOGLE E FACEBOOK
UTILIZAÇÃO DOS SISTEMAS DE SINGLE SIGN-ON (SSO) DO GOOGLE E FACEBOOK
 
Reprodutor de Audio MR
Reprodutor de Audio MRReprodutor de Audio MR
Reprodutor de Audio MR
 
Jogo do Dino
Jogo do DinoJogo do Dino
Jogo do Dino
 
Filtro de Prewitt
Filtro de PrewittFiltro de Prewitt
Filtro de Prewitt
 
Sistema de Irrigação Automatizado com Interface de Controle e Monitoramento O...
Sistema de Irrigação Automatizado com Interface de Controle e Monitoramento O...Sistema de Irrigação Automatizado com Interface de Controle e Monitoramento O...
Sistema de Irrigação Automatizado com Interface de Controle e Monitoramento O...
 
Banco de Dados Orientado a Objetos para Aplicações Android - ORMLite
Banco de Dados Orientado a Objetos para Aplicações Android - ORMLiteBanco de Dados Orientado a Objetos para Aplicações Android - ORMLite
Banco de Dados Orientado a Objetos para Aplicações Android - ORMLite
 
Teoria Geral de Sistemas
Teoria Geral de SistemasTeoria Geral de Sistemas
Teoria Geral de Sistemas
 
Use Case 2.0
Use Case 2.0Use Case 2.0
Use Case 2.0
 
Computação na Escola
Computação na EscolaComputação na Escola
Computação na Escola
 
Engenharia e Gestão do Conhecimento: Conceitos e Cases
Engenharia e Gestão do Conhecimento: Conceitos e CasesEngenharia e Gestão do Conhecimento: Conceitos e Cases
Engenharia e Gestão do Conhecimento: Conceitos e Cases
 
Segurança da Informação e Governança em TI
Segurança da Informação e Governança em TISegurança da Informação e Governança em TI
Segurança da Informação e Governança em TI
 
Empreendedorismo tecnológico
Empreendedorismo tecnológicoEmpreendedorismo tecnológico
Empreendedorismo tecnológico
 
O poder da visão
O poder da visãoO poder da visão
O poder da visão
 
Mineração de patentes (rio do sul)
Mineração de patentes (rio do sul)Mineração de patentes (rio do sul)
Mineração de patentes (rio do sul)
 
Ataque Cibernético em Veículos Autônomos
Ataque Cibernético em Veículos AutônomosAtaque Cibernético em Veículos Autônomos
Ataque Cibernético em Veículos Autônomos
 

Docker

  • 1. DOCKER ALUNOS: DAN LÚCIO PRADA, NATALIA KELIM THIEL, RODRIGO CACHOEIRA ORIENTADOR: WESLEY DOS REIS BEZERRA
  • 2. SUMÁRIO 1. Virtualização 2. Docker 3. Objetivos 4. Soluções 5. Exemplos 6. Conclusões
  • 4. Virtualização Algo real teria características físicas, concretas. Já o virtual está associado aquilo que é simulado, abstrato. A virtualização pode ser definida como a criação de um ambiente virtual que simula um ambiente real, propiciando a utilização de diversos sistemas e aplicativos sem a necessidade de acesso físico à máquina na qual estão hospedados.
  • 5. Virtualização Isso reduz a relação de dependência que os recursos de computação exercem entre si, pois possibilita, por exemplo, a dissociação entre um aplicativo e o sistema operacional que ele utiliza. Por exemplo, com o uso de virtualização é possível utilizar softwares exclusivos de um S.O em outro, algo como o uso do Microsoft Word no Linux.
  • 7. Vantagens Economia e otimização de recursos computacionais; Independência de recursos e bibliotecas, pois o ambiente o qual a aplicação irá rodar será configurada pelo desenvolvedor; A economia barateia serviços que provem servidores, o que possibilita que pequenas inovações tenham mais facilidade em alocar essas tecnologias para seus projetos.
  • 9. Origem Surgiu em sistemas GNU-Linux e engloba tecnologias já existentes. Sendo o comando chroot seu precursor mais famoso que foi lançado em 1979 pelo Unix V7 com o intuito de segregar acessos de diretórios e evitar que o usuário possa ter acesso à estrutura raiz (“/” ou root). Com base na ideia de virtualização a nível de Sistema Operacional, surge em 2008 o Linux Container ou LXC como é mais conhecido.
  • 10. LXC É uma tecnologia que permite a criação de múltiplas instâncias isoladas de um determinado Sistema Operacional dentro de um único hospedeiro ou em outras palavras, é uma maneira de virtualizar aplicações dentro de um servidor GNU/Linux. Ao comparar com a virtualização tradicional, fica mais claro que uma aplicação sendo executada em um LXC demanda muito menos recursos, consumindo menos espaço em disco e com um nível de portabilidade difícil de ser alcançado por outras plataformas.
  • 11. LXC A grande diferença entre o chroot e o LXC é o nível de segurança que se pode alcançar. Com relação à virtualização, a diferença está no fato do LXC não necessitar de uma camada de sistema operacional para cada aplicação, como pode ser visto na figura a seguir:
  • 12.
  • 13. Mercado Mas não foi só a adoção de desenvolvedores e administradores que tornou essa tecnologia recentemente tão popular. A consolidação da virtualização no mercado e a crescente demanda por computação em nuvem criaram o ambiente perfeito para o LXC se espalhar rapidamente. Aplicações podem ser portadas direto do notebook do desenvolvedor para o servidor de produção, ou ainda para uma instância virtual em uma nuvem pública.
  • 14. Mercado Suas facilidades de uso ficaram evidentes ao mercado com a rápida adoção dos principais competidores de computação em nuvem, que perceberam o valor do LXC e adequaram seu catálogo para suportar essa implementação.
  • 16. Introdução Basicamente, o Docker é uma implementação open source de uma virtualização a nível de sistema operacional (operating system level virtualization). É uma abordagem que tenta solucionar os problemas da virtualização de hardware, que basicamente consiste em recursos limitados, ou seja, virtualizar todo o hardware consome muito recurso. Utiliza a tecnologia LXC.
  • 17. Introdução O Docker faz uso de parte do conceito de Software como Serviço, frequentemente chamado SaaS (Software as a Service), o que é um método de entrega que provê acesso remoto ao software e suas funções, baseado em tecnologias como as de web-services. Internamente sua estrutura é desenvolvida em GO e nasceu como um projeto open source da DotCloud, uma empresa de PaaS (Platform as a Service) que apesar de estar mais interessada em utilizar LXC apenas em suas aplicações, acabou desenvolvendo um produto que foi muito bem aceito pelo mercado.
  • 18. Funcionalidades O Docker possibilita o empacotamento de uma aplicação ou ambiente inteiro dentro de um container, e a partir desse momento o ambiente inteiro torna-se portável para qualquer outro Host que contenha o Docker instalado. Isso reduz drasticamente o tempo de deploy de alguma infraestrutura ou até mesmo aplicação, pois não há necessidade de ajustes de ambiente para o correto funcionamento do serviço, o ambiente é sempre o mesmo, configure-o uma vez e replique-o quantas vezes quiser.
  • 19. Imagem Fazendo um paralelo com o conceito de orientação a objeto, a imagem é a classe e o container o objeto, ou seja, a imagem é a abstração da infraestrutura em um estado somente leitura, que é de onde será instanciado o container. Todo container é iniciado a partir de uma imagem, dessa forma podemos concluir que nunca teremos uma imagem em execução. Um container só pode ser iniciado a partir de uma única imagem, ou seja, caso deseje um comportamento diferente será necessário customizar a imagem.
  • 20. Imagem Há duas formas de criar uma imagem: ◦Dando um commit em um container já criado, que foi instanciado com outra imagem. ◦Iniciando uma nova imagem a partir de um dockerfile, especificando todas as preferências, mas tendo como base outra imagem.
  • 22. Container O Container é uma instância de uma Imagem em execução naquele momento. As camadas são montadas como leitura e escrita. É onde de fato estão as modificações da "máquina" em execução. Toda modificação realizada em uma imagem é feita a partir de um container com o commit citado anteriormente.
  • 23. Container Entretanto, as informações alteradas no container serão perdidas na próxima vez em que ele for executado, caso não haja commit para criar uma nova imagem. Em essência, cada container executa um ambiente distindo, que pode ser compartilhado entre outros container se necessário.