As musicas de fundo junto com esse estilo de edição, fizeram com que a experiencia do vídeo ficasse muito mais imersiva, ótimo conteúdo! Parabéns pelos 100k, Kipper! :)
Excelente explicação sobre a diferença entre contêineres e máquinas virtuais! A clareza e a profundidade com que você abordou o tema realmente esclarecem as nuances entre essas duas tecnologias essenciais. Uma sugestão no título para ter mais precisão no vídeo. De "A REAL diferença de DOCKER e MÁQUINAS VIRTUAIS" para "A REAL diferença de CONTÊINERES e MÁQUINAS VIRTUAIS". Parabéns pelo conteúdo de alta qualidade!
O docker não é uma virtualização e isso confunde muita gente. A virtualizacao emula e traduz todos os comandos de hardware para um sistema operacional que por sua vez comanda os processos. O docker é baseado em recursos nativos do kernel do linux para isolar processos e nao ha nenhuma traducao de hardware, o processo comunica diretamente com os recursos da maquina mas o linux isola o seu funcionamento em redes e sistemas de arquivos e poe limites na cpu e memoria por exemplo. No caso da vm o processo é schedulado pelo so host que acha que tem um pente de memoria fisico "fake". O que confunde a galera é que para funcionar no windows e mac ha sim virtualizacao pois como disse é um recurso do kernel do linux e o kernel do linux nao roda junto ao windows e mac porque precisa de acesso ao hardware que ja esta sobre o controle do so host. Galera entrem em mais detalhes para entender e ir a fundo e nao ficar comentando superficialmente. 😉
Excelente comentário, fiquei aqui me retorcendo com esse vídeo. Espero que o pessoal se interesse em se aprofundar para não cair no engano de achar que virtualização e conteinerização são as mesmas coisas.
A galera fica consumindo informacao de forma rapida e superficial e isso é ok, mas as coisas evoluem em anos de pesquisa e desenvolvimento e conhecer algo é como fazer academia precisa de disciplina e dedicação para ter resultado significativo @@caiquehc2020
Docker e a virtualização TRADICIONAL são frequentemente comparados, mas possuem diferenças fundamentais que é importante entender. Enquanto ambos buscam isolar e gerenciar recursos do sistema para rodar aplicações de forma eficiente, eles o fazem de maneiras bastante distintas. A virtualização TRADICIONAL utiliza hypervisors como VMware, Hyper-V ou KVM para criar máquinas virtuais (VMs), que operam como computadores independentes, cada uma com seu próprio sistema operacional e hardware virtualizado. Esse processo envolve a emulação de hardware, onde comandos são traduzidos e gerenciados pelo hypervisor, resultando em uma camada adicional entre o sistema operacional da VM e o hardware físico. Esse tipo de isolamento proporciona um alto grau de segurança e isolamento, mas pode introduzir uma sobrecarga de desempenho devido à necessidade de emulação de hardware. Por outro lado, Docker utiliza containers, que são uma forma de isolamento de processos. Em vez de criar um sistema operacional completo e hardware virtualizado, os containers compartilham o mesmo kernel do sistema operacional host e utilizam recursos nativos do kernel Linux, como namespaces e cgroups, para isolar processos. Isso significa que, ao contrário das VMs, Docker não precisa emular hardware. Os containers têm acesso direto aos recursos do host, mas são isolados em termos de rede, sistema de arquivos e limites de CPU e memória. Essa abordagem elimina a sobrecarga de desempenho associada à emulação de hardware, tornando os containers mais leves e eficientes. Essa diferença fundamental em como Docker e virtualização TRADICIONAL operam tem implicações significativas em termos de desempenho e eficiência. As VMs, devido à necessidade de rodar sistemas operacionais completos e emular hardware, tendem a ter uma sobrecarga significativa de desempenho. Cada VM consome recursos adicionais para manter seu próprio sistema operacional e hardware virtualizado. Em contraste, os containers Docker, compartilhando o kernel do host, são muito mais leves e podem ser inicializados e desligados rapidamente, usando os recursos do sistema de maneira mais eficiente. A escolha entre Docker e virtualização depende do caso de uso específico e das necessidades do ambiente. A virtualização é ideal para cenários onde múltiplos sistemas operacionais diferentes precisam ser executados no mesmo hardware. Isso é útil em ambientes que requerem um alto grau de isolamento e compatibilidade diversificada de software. Docker, por sua vez, é mais adequado para desenvolvimento, teste e implantação rápida de aplicações. Ele permite criar ambientes de desenvolvimento que replicam fielmente o ambiente de produção, facilitando a portabilidade e a escalabilidade das aplicações. Docker é especialmente útil em arquiteturas de microsserviços, onde múltiplos containers podem ser orquestrados para formar uma aplicação completa. Um ponto que frequentemente gera confusão é a utilização de Docker no Windows e macOS. Docker é uma tecnologia nativa do Linux e depende de funcionalidades específicas do kernel Linux. Para rodar Docker nesses sistemas operacionais, é necessária uma camada de virtualização adicional. No Windows, isso pode ser feito usando Hyper-V ou Docker Desktop com WSL 2 (Windows Subsystem for Linux 2) para criar um ambiente compatível com Linux. No macOS, utiliza-se Hyperkit, uma ferramenta de virtualização leve, para rodar o kernel Linux. Essa camada de virtualização é necessária porque Docker precisa de acesso direto ao kernel Linux, que não pode rodar nativamente em Windows ou macOS. Isso pode levar à impressão de que Docker está usando virtualização, mas na verdade, essa camada adicional é apenas um meio para permitir que Docker funcione nesses sistemas operacionais. Docker e virtualização são tecnologias distintas, cada uma com suas próprias vantagens e desvantagens. Docker não é uma forma de virtualização no sentido TRADICIONAL, mas sim uma maneira de isolar processos utilizando recursos nativos do kernel Linux. As VMs são ideais para cenários que requerem múltiplos sistemas operacionais e um alto grau de isolamento, enquanto Docker é perfeito para desenvolvimento ágil, implantação rápida e ambientes escaláveis. Compreender essas diferenças é essencial para fazer escolhas informadas e aproveitar ao máximo cada tecnologia em seus respectivos contextos.
Bom dia amigo tudo bem? O Cantainer parte do mesmo princípio da vitalização, a diferença é que um usa processo, enganando assim a estrutura física, não utilizando muito hardware, e a máquina virtual evidentemente compromete o hardware, mas entre um e outro eu prefiro o primeiro citado que se baseia em processo que é muito melhor até mesmo pra quem usa nuvem é muito melhor poupa recursos físicos de de uma máquina, isso é muito bom
Falaaaa, Fe!! Seria possível trazer um vídeo de programação assíncrona no Java Spring? Eu quase não vejo o pessoal usar. Seria bacana trazer um vídeo explicando pq não é tão comum, trazendo as vantagens e desvantagens… Estou investigando o assunto, entendendo os melhores e piores casos de uso. Engraçado que o uso do async é bem mais comum em outras stacks como JS, C# & .Net Core.
@fernanda, ótimo vídeo. Uma palavra essencial quando falamos de container é "isolamento": poderíamos dizer que as duas tecnologias são sobre: virtualização versus isolamento. Pra entender o isolamento direitinho vc pode ver o que é linux namespaces, cgroups... Isso me ajudou muito.
O Docker também funciona baseado em um serviço de virtualização sim. Por isso ao instalar mos o Docker é necessário que a máquina tenha suporte a habilitação do recurso de Virtualização Vm , que é configurado apartir da BIOS .
Simmm! Esqueci de dar esse exemplo no video, mas normalmente qnd a gente usa os serviços de compute das provedoras de nuvem, e rodamos um docker lá nas instâncias, estamos rodando Docker em cima de VMs hahahaha Boa!
O Docker é um CHROOT com um Daemon management (que sobe kernel , leva binarios, e acessa devices locais se quiser), Mas nao é virtualização. E ele empacota esses ambientes "chroot style" em imagens. pronto !!!
Bom dia tudo bem com você? Não tem como esse contêiner ameaçar o ProxMox pois ele bate de igual pra igual, então ambos os dois são bons e evolui dia após dia, então não tem como ele ameaçar esse outro sistema de tanto vir atualização como Contêiner que é uma melhor parte que usa processo como o docker, então não tem como ameaçar ou seja a parte do processo usa menos a estrutura da máquina e as suas capacidades, mas tem uma robustez muito evoluída ambos os dois
Mais ou menos! Como eles funcionam de forma diferentes por trás dos panos, eu não poderia dizer que o Docker é um pedacinho do sistema de uma VM. Vou explicar o que eu tenho mente: ahahah Acho que seria mais correto a gente dizer que os containers são uma forma mais leve e eficiente de virtualização em comparação com VMs. Pq os containers compartilham o mesmo kernel do host e são isolados em termos de processo, rede e sistema de arquivos. Eles são mais leves que VMs porque não incluem um sistema operacional completo. Então o um container é uma VM simplificada e leve, que foi criado com o intuito de empactar uma aplicação e não simular uma máquina inteira. Fez sentido? 😃🤩
Pra mim o melhor dos mundos é o Proxmox. Instalei ele na minha máquina pessoal, fiz o passthrough da placa de video e quando a minha vm sobe, automaticamente some o terminal do proxmox e cai na tela do win 11. E pelo navegador, acesso a console do Proxmox e la monto as VMs.
Super engraçado ver um conteúdo de virtualização onde a apresentadora ignora a VMware porque a patrocinadora é a Parallels. Teve que ir na doc da IBM que só virtualiza PowerPC. Foi hilário mesmo.
Para macOS com processadores Apple Silicon, existem basicamente três opções de virtualização, como Parallels, VMware e UTM. Eu utilizei todas essas ferramentas e posso afirmar que o Parallels é superior a todas elas.
DOCKER é fria. se vc quer mais confiança, melhor 1000x a virtualização. claro q somente se nao tiver outro computador ou dispositivo. Vou explicar pq. O MELHOR É O DISPOSITIVO REAL. Se vc programa para um android por exemplo, mesmo q tenha feito todo o projeto em uma maquina virtual, ainda assim vai dar mtos bugs, telas quabradas(remontadas, layout basicamente), sem acesso ao chip, localização, entre outros recursos fisicos do dispositivo. por isso a maquina virtual é a segunda opção. agora DOCKER. nossa. se um já tem problema em simular condições de um dispositivo q esta ali com todo o sistema operacional instalado imagine outro q tenta simular somente sua aplicação. Resumindo aconselho ter celulares baratos, usados, microcomputadores hoje existem varios no mercado livre. ou escolher a virtualização se nao quiser ficar mexendo com hardwares.
@@gsilva877 O Docker é uma alternativa de virtualização em que o kernel da máquina hospedeira é compartilhado com a máquina virtualizada ou o software em operação, portanto um desenvolvedor pode agregar a seu software a possibilidade de levar as bibliotecas e outras dependências do seu programa junto ao software com menos perda de desempenho do que a virtualização do hardware de um servidor completo. Assim, o Docker torna operações em uma infraestrutura como serviços web mais intercambiável, eficientes e flexíveis. Segundo uma análise da 451 Research, o "Docker é uma ferramenta que pode empacotar um aplicativo e suas dependências em um recipiente virtual que pode ser executado em qualquer servidor Linux. Isso ajuda a permitir flexibilidade e portabilidade de onde o aplicativo pode ser executado, quer nas instalações, nuvem pública, nuvem privada, entre outros. pt.wikipedia.org/wiki/Docker_(software)
Não to questionando sua experiencia, mas docker nem virtualização é, ele isola um processo no kernel do linux são casos de uso diferentes, tu citou android vs hardware do dispositivo e não tem nada haver. Se tu programa mobile você não vai usar docker.
As musicas de fundo junto com esse estilo de edição, fizeram com que a experiencia do vídeo ficasse muito mais imersiva, ótimo conteúdo!
Parabéns pelos 100k, Kipper! :)
Excelente explicação sobre a diferença entre contêineres e máquinas virtuais! A clareza e a profundidade com que você abordou o tema realmente esclarecem as nuances entre essas duas tecnologias essenciais. Uma sugestão no título para ter mais precisão no vídeo.
De "A REAL diferença de DOCKER e MÁQUINAS VIRTUAIS" para "A REAL diferença de CONTÊINERES e MÁQUINAS VIRTUAIS". Parabéns pelo conteúdo de alta qualidade!
Muito obrigado Saitam 💜
A melhor notificação com o conteúdo maravilhoso de sempre!
Ahahahah valeuuuu Ilanna!! Fico feliz que gostou 💜💜
O docker não é uma virtualização e isso confunde muita gente. A virtualizacao emula e traduz todos os comandos de hardware para um sistema operacional que por sua vez comanda os processos. O docker é baseado em recursos nativos do kernel do linux para isolar processos e nao ha nenhuma traducao de hardware, o processo comunica diretamente com os recursos da maquina mas o linux isola o seu funcionamento em redes e sistemas de arquivos e poe limites na cpu e memoria por exemplo. No caso da vm o processo é schedulado pelo so host que acha que tem um pente de memoria fisico "fake". O que confunde a galera é que para funcionar no windows e mac ha sim virtualizacao pois como disse é um recurso do kernel do linux e o kernel do linux nao roda junto ao windows e mac porque precisa de acesso ao hardware que ja esta sobre o controle do so host. Galera entrem em mais detalhes para entender e ir a fundo e nao ficar comentando superficialmente. 😉
Excelente comentário, fiquei aqui me retorcendo com esse vídeo. Espero que o pessoal se interesse em se aprofundar para não cair no engano de achar que virtualização e conteinerização são as mesmas coisas.
A galera fica consumindo informacao de forma rapida e superficial e isso é ok, mas as coisas evoluem em anos de pesquisa e desenvolvimento e conhecer algo é como fazer academia precisa de disciplina e dedicação para ter resultado significativo @@caiquehc2020
Docker e a virtualização TRADICIONAL são frequentemente comparados, mas possuem diferenças fundamentais que é importante entender. Enquanto ambos buscam isolar e gerenciar recursos do sistema para rodar aplicações de forma eficiente, eles o fazem de maneiras bastante distintas. A virtualização TRADICIONAL utiliza hypervisors como VMware, Hyper-V ou KVM para criar máquinas virtuais (VMs), que operam como computadores independentes, cada uma com seu próprio sistema operacional e hardware virtualizado. Esse processo envolve a emulação de hardware, onde comandos são traduzidos e gerenciados pelo hypervisor, resultando em uma camada adicional entre o sistema operacional da VM e o hardware físico. Esse tipo de isolamento proporciona um alto grau de segurança e isolamento, mas pode introduzir uma sobrecarga de desempenho devido à necessidade de emulação de hardware.
Por outro lado, Docker utiliza containers, que são uma forma de isolamento de processos. Em vez de criar um sistema operacional completo e hardware virtualizado, os containers compartilham o mesmo kernel do sistema operacional host e utilizam recursos nativos do kernel Linux, como namespaces e cgroups, para isolar processos. Isso significa que, ao contrário das VMs, Docker não precisa emular hardware. Os containers têm acesso direto aos recursos do host, mas são isolados em termos de rede, sistema de arquivos e limites de CPU e memória. Essa abordagem elimina a sobrecarga de desempenho associada à emulação de hardware, tornando os containers mais leves e eficientes.
Essa diferença fundamental em como Docker e virtualização TRADICIONAL operam tem implicações significativas em termos de desempenho e eficiência. As VMs, devido à necessidade de rodar sistemas operacionais completos e emular hardware, tendem a ter uma sobrecarga significativa de desempenho. Cada VM consome recursos adicionais para manter seu próprio sistema operacional e hardware virtualizado. Em contraste, os containers Docker, compartilhando o kernel do host, são muito mais leves e podem ser inicializados e desligados rapidamente, usando os recursos do sistema de maneira mais eficiente.
A escolha entre Docker e virtualização depende do caso de uso específico e das necessidades do ambiente. A virtualização é ideal para cenários onde múltiplos sistemas operacionais diferentes precisam ser executados no mesmo hardware. Isso é útil em ambientes que requerem um alto grau de isolamento e compatibilidade diversificada de software. Docker, por sua vez, é mais adequado para desenvolvimento, teste e implantação rápida de aplicações. Ele permite criar ambientes de desenvolvimento que replicam fielmente o ambiente de produção, facilitando a portabilidade e a escalabilidade das aplicações. Docker é especialmente útil em arquiteturas de microsserviços, onde múltiplos containers podem ser orquestrados para formar uma aplicação completa.
Um ponto que frequentemente gera confusão é a utilização de Docker no Windows e macOS. Docker é uma tecnologia nativa do Linux e depende de funcionalidades específicas do kernel Linux. Para rodar Docker nesses sistemas operacionais, é necessária uma camada de virtualização adicional. No Windows, isso pode ser feito usando Hyper-V ou Docker Desktop com WSL 2 (Windows Subsystem for Linux 2) para criar um ambiente compatível com Linux. No macOS, utiliza-se Hyperkit, uma ferramenta de virtualização leve, para rodar o kernel Linux. Essa camada de virtualização é necessária porque Docker precisa de acesso direto ao kernel Linux, que não pode rodar nativamente em Windows ou macOS. Isso pode levar à impressão de que Docker está usando virtualização, mas na verdade, essa camada adicional é apenas um meio para permitir que Docker funcione nesses sistemas operacionais.
Docker e virtualização são tecnologias distintas, cada uma com suas próprias vantagens e desvantagens. Docker não é uma forma de virtualização no sentido TRADICIONAL, mas sim uma maneira de isolar processos utilizando recursos nativos do kernel Linux. As VMs são ideais para cenários que requerem múltiplos sistemas operacionais e um alto grau de isolamento, enquanto Docker é perfeito para desenvolvimento ágil, implantação rápida e ambientes escaláveis. Compreender essas diferenças é essencial para fazer escolhas informadas e aproveitar ao máximo cada tecnologia em seus respectivos contextos.
@@BrayanSantos-xy1vj 👏👏Eu resumi e tu quase desenhou, muito bom, daria um artigo sua resposta.
Bom dia amigo tudo bem? O Cantainer parte do mesmo princípio da vitalização, a diferença é que um usa processo, enganando assim a estrutura física, não utilizando muito hardware, e a máquina virtual evidentemente compromete o hardware, mas entre um e outro eu prefiro o primeiro citado que se baseia em processo que é muito melhor até mesmo pra quem usa nuvem é muito melhor poupa recursos físicos de de uma máquina, isso é muito bom
Falaaaa, Fe!!
Seria possível trazer um vídeo de programação assíncrona no Java Spring?
Eu quase não vejo o pessoal usar.
Seria bacana trazer um vídeo explicando pq não é tão comum, trazendo as vantagens e desvantagens…
Estou investigando o assunto, entendendo os melhores e piores casos de uso.
Engraçado que o uso do async é bem mais comum em outras stacks como JS, C# & .Net Core.
Gostei do video e inclusive fiz a indicação de projeto de um outro video seu e ficou bom demais tambem!
Gostei da voz dela, viciantee
@fernanda, ótimo vídeo. Uma palavra essencial quando falamos de container é "isolamento": poderíamos dizer que as duas tecnologias são sobre: virtualização versus isolamento. Pra entender o isolamento direitinho vc pode ver o que é linux namespaces, cgroups... Isso me ajudou muito.
Boa! Isolamento explica bem a diferença entre essas tecnologias. O escopo desse isolamento é o que mais muda
Fernanda Kipper você é incrível.
Muito obrigadaa, Kelson 💜
Parabéns pelos 100k fé ❤
Valeuuu @dev-enprocesso
Muito bom o vídeo.
Agora vou ter que aprender angular também, q sorte sigo seu canal.
Muito obrigadaa Fred
Hahaha bons estudos 💜
Ótima explicação ! Direto e rápdo 👍👍
O Docker também funciona baseado em um serviço de virtualização sim.
Por isso ao instalar mos o Docker é necessário que a máquina tenha suporte a habilitação do recurso de Virtualização Vm , que é configurado apartir da BIOS .
Por que meu dock não incializa junto do meu Arch Linux?
Quando você vai explorar aplicações fullstack de microsserviços e MFE ?
mais um video maravilhoso!!
Obrigadaaaa Luiz! Que bom q curtiu 💜
Tenho um home server com Proxmox e algumas VMs instaladas rodando alguns containers pelo docker.
Simmm! Esqueci de dar esse exemplo no video, mas normalmente qnd a gente usa os serviços de compute das provedoras de nuvem, e rodamos um docker lá nas instâncias, estamos rodando Docker em cima de VMs hahahaha
Boa!
@@kipperdev é exatamente isso. A “virtualização” na virtualização rs.
O Docker é um CHROOT com um Daemon management (que sobe kernel , leva binarios, e acessa devices locais se quiser), Mas nao é virtualização. E ele empacota esses ambientes "chroot style" em imagens. pronto !!!
vamos começar do começo e dizer "calma ae javascriptos dos comentarios"
que didática incrível...
Fernanda, faz um vídeo sobre RabbitMQ!!
Simmm, esse tá prometido aqui pro canal hauahuauh ainda não consegui gravar, mas ele vai sair!
Bom dia tudo bem com você? Não tem como esse contêiner ameaçar o ProxMox pois ele bate de igual pra igual, então ambos os dois são bons e evolui dia após dia, então não tem como ele ameaçar esse outro sistema de tanto vir atualização como Contêiner que é uma melhor parte que usa processo como o docker, então não tem como ameaçar ou seja a parte do processo usa menos a estrutura da máquina e as suas capacidades, mas tem uma robustez muito evoluída ambos os dois
tomando um café e assistindo o melhor videoooo!!! bom diaaa
💜💜
Perfeito, Kipper!!!
Muito obrigadaa 💜
Me manda um video subindo um windows 10 com video no docker
Eu poderia dizer que um container docker é um pedacinho de uma VM?
Mais ou menos!
Como eles funcionam de forma diferentes por trás dos panos, eu não poderia dizer que o Docker é um pedacinho do sistema de uma VM.
Vou explicar o que eu tenho mente: ahahah
Acho que seria mais correto a gente dizer que os containers são uma forma mais leve e eficiente de virtualização em comparação com VMs.
Pq os containers compartilham o mesmo kernel do host e são isolados em termos de processo, rede e sistema de arquivos. Eles são mais leves que VMs porque não incluem um sistema operacional completo.
Então o um container é uma VM simplificada e leve, que foi criado com o intuito de empactar uma aplicação e não simular uma máquina inteira.
Fez sentido? 😃🤩
Que vídeo vem explicado
Obrigadaaa Fernando! 💜
morri de rir quando ela extende o braço e o docker ta na mão dela kkkk
Hahahaha
pq colocar essa música de fundo?
essa garota é foda tá...vou ficar obcecado por aprender a programar
Pra mim o melhor dos mundos é o Proxmox. Instalei ele na minha máquina pessoal, fiz o passthrough da placa de video e quando a minha vm sobe, automaticamente some o terminal do proxmox e cai na tela do win 11. E pelo navegador, acesso a console do Proxmox e la monto as VMs.
Docker é Vida!!!
você é a sucessora do Fabio akita, só que mas bonita e simpática kkk
Super engraçado ver um conteúdo de virtualização onde a apresentadora ignora a VMware porque a patrocinadora é a Parallels. Teve que ir na doc da IBM que só virtualiza PowerPC. Foi hilário mesmo.
Para macOS com processadores Apple Silicon, existem basicamente três opções de virtualização, como Parallels, VMware e UTM. Eu utilizei todas essas ferramentas e posso afirmar que o Parallels é superior a todas elas.
Me explica onde o parallels é superior ao fusion por favor? Qual foi sua metodologia de testes?
Fê, fala de engenharia de prompt para IA em um futuro vídeo. É um assunto FODA!
Hmm bom tema, Diego! Obrigado 💜
Qual foi a solução da Fê? Comprou um Notebook windows só para rodar o programa. hahahahahaha
Hahahahaha
O meu Parallels para m1 para jogos é horrível kkkkk
DOCKER é fria. se vc quer mais confiança, melhor 1000x a virtualização. claro q somente se nao tiver outro computador ou dispositivo. Vou explicar pq. O MELHOR É O DISPOSITIVO REAL. Se vc programa para um android por exemplo, mesmo q tenha feito todo o projeto em uma maquina virtual, ainda assim vai dar mtos bugs, telas quabradas(remontadas, layout basicamente), sem acesso ao chip, localização, entre outros recursos fisicos do dispositivo. por isso a maquina virtual é a segunda opção. agora DOCKER. nossa. se um já tem problema em simular condições de um dispositivo q esta ali com todo o sistema operacional instalado imagine outro q tenta simular somente sua aplicação. Resumindo aconselho ter celulares baratos, usados, microcomputadores hoje existem varios no mercado livre. ou escolher a virtualização se nao quiser ficar mexendo com hardwares.
Melhor usar jails no freeBSD.
O docker não tem o menor objetivo de fazer o que tu falou
@@gsilva877 O Docker é uma alternativa de virtualização em que o kernel da máquina hospedeira é compartilhado com a máquina virtualizada ou o software em operação, portanto um desenvolvedor pode agregar a seu software a possibilidade de levar as bibliotecas e outras dependências do seu programa junto ao software com menos perda de desempenho do que a virtualização do hardware de um servidor completo. Assim, o Docker torna operações em uma infraestrutura como serviços web mais intercambiável, eficientes e flexíveis.
Segundo uma análise da 451 Research, o "Docker é uma ferramenta que pode empacotar um aplicativo e suas dependências em um recipiente virtual que pode ser executado em qualquer servidor Linux. Isso ajuda a permitir flexibilidade e portabilidade de onde o aplicativo pode ser executado, quer nas instalações, nuvem pública, nuvem privada, entre outros.
pt.wikipedia.org/wiki/Docker_(software)
Tenho 50 anos e sou programador desde dos 16. Colega, aqui tem chão.
Não to questionando sua experiencia, mas docker nem virtualização é, ele isola um processo no kernel do linux são casos de uso diferentes, tu citou android vs hardware do dispositivo e não tem nada haver. Se tu programa mobile você não vai usar docker.