Unknown

0 views25337 WordsCopy TextShare
Unknown
Video Transcript:
aí pessoal chegamos salve das Beleza boa noite para todo mundo Estamos chegando para mais uma live aqui no canal pso como que vocês estão Maravilha já tinha um pessoal dando boa noite aqui a gente já tem bastante pessoa online estou muito feliz de estar com vocês aqui durante a semana vocês vão me ver mais vezes daqui a pouco eu vou me apresentar mas meu nome já está na verdade aqui ó Onde tá meu dedo difícil posicionar aqui tá mas Maravilha acho que não tem como eu nem dar boa noite para todo mundo mas que já
quero desejar as boas-vindas aí para você tá espero que você tenha uma noite agradável que seja muito bom esse tempo que você vai aprender docker aqui conosco ess essa tecnologia tão pedida hoje pelas empresas tão básica em determinados contextos então por isso que a gente tá trazendo ela aqui porque você tem que conhecer docker né Não importa Qual é o seu tipo de carreira qual é a área dentro de te que você está se você quer melhorar como profissional quer trabalhar numa empresa melhor quer ser mais reconhecido você tem que conhecer docker né docker vai
se tornando cada vez mais como um Git Tem empresas que você não vai conseguir nem se aplicar se você não sub ali o básico de docker tá então a gente vai ter uma Live bem legal nós vamos ter um momento teórico você vai sair dessa Live de fato sabendo o que é docker e os conceitos básicos inclusive você vai saber usar você que vai ver essa Live aqui você vai saber usar docker principalmente para desenvolvimento Tá show de bola meu povo ó o pessoal tá dando boa noite aqui eu vi que tem gente aí até
de outro país gente de Toronto e a mensagens em inglês Show de bola pessoal quero saber aqui quem tá assistindo a Live aí quem é o primeiro conteúdo que você tá vendo aqui no canal marquem a um hash novato # novata só para eu saber se você está vendo aqui o primeiro conteúdo ó tem um pessoal aqui dando boa noite é muita gente que tá chegando tô muito feliz de estar com você vocês aí passar alguns recadinhos aqui iniciais sobre essa semana Deixa eu só abrir uma coisa aqui e deixa eu ver se a gente
tem esse post aqui aí eu vou abrir ele para cá como é que eu abro post aqui aqui show de bola ó tá a galera mandando novato imagina que dev vai ter muitos novatos ã ó Emanuele vodan Ana Flávia JN Alves É isso aí pessoal seja muito bem-vindo espero que você curta bastante a Live e eu vou pedir um recado para todo mundo tá você só tem um compromisso nessa Live de hoje somente um que é dar o like eu vou pedir também vou convidá-los a que você siga o canal mas o like é obrigatório
Beleza então já o dedão no like aí inclusive deixa eu dar uma olhadinha aqui Quantos likes que a gente tem que eu gosto de puxar a orelha do pessoal quando a gente não tem muitos likes olhando aqui no celular ó a gente tem quase 600 pessoas assistindo a Live e apenas 187 likes hein ó de orelha de vocês a gente merece n já dá o like aí porque nos ajuda a expandir essa Live para mais pessoas ajuda a crescer o canal a gente tá de vento em popo aí passando os 100000 inscritos e a gente
quer levar cada vez mais esses conteúdos de qualidade para mais pessoas Beleza se você não der like e na hora que você tiver dormindo à noite o docker vai puxar o seu pé roguei praga hein pessoal vamos lá e para quem é novato né você tá vendo aí o primeiro conteúdo aqui no canal essa semana que nós estamos é a semana do Esquenta da imersão full psycle essa semana nós mostramos as tecnologias que vão ser usadas no nosso estudo de caso nosso objetivo da imersão é desenvolver a plataforma de ingressos então aqui durante a semana
Ontem nós tivemos a abertura ali com esle que ele falou sobre golang Hoje a gente vai falar de docker amanhã vai ser nestjs quarta-feira também às 19 horas quinta-feira vai ser sobre next não confundir que é uma tecnologia diferente a apesar de usar nodejs também às 19 horas e sexta-feira nós vamos trabalhar com api GAT especificamente com Kong também às 19 horas tá inclusive deixa eu compartilhar minha tela aqui nós temos o Instagram também se você puder seguir a gente no @dev cycle @dev cycle vou deixar o Instagram aqui essa aqui é a programação no
Instagram se você eh não consegui pegar tudo isso aí que eu falei mas a gente tem lives aí uma vez por dia até sexta-feira É só você ir lá no Instagram e consultar a gente tem aqui do dia 10 ao dia 14 né inclusive amanhã aí dos dias dos namorados né Vamos namorar amanhã o nestjs que vai ser a Live de amanhã às 19 horas tá E aí vem outro detalhe que é uma pergunta que sempre rola aqui nos esquentas tem um baninho aqui que eu vou deixar cadê Aqui ó para deixar bem explícito essa
pergunta é a pergunta que é mais feita durante a semana todas as lives que a gente está fazendo durante a semana vão ficar no canal a gente não vai remover então se você não viu a Live de ontem não conseguir ver a Live de hoje e as outras você vai poder voltar depois aí para ver Conforme você quiser tá deixa eu ver o que que vocês estão falando mais aqui ó tem gente aí de Votorantin São Paulo sejam todos bem-vindos todas bem-vindas Deixa eu tirar o banzin daqui então aqui está a programação segue a gente
lá também porque no Instagram nós postamos conteúdos também de tecnologia todos os dias no canal aqui também né eu Convido você a se inscrever ativar o Sininho das notificações mas lá no Insta nós postamos vários Stories Réus e várias outras coisas sobre tecnologia também você pode acompanhar o nosso trabalho beleza ó pessoal aqui de Minas eu est também estou em Minas Sou mineiro nasci em Minas também tem gente de São Paulo tem gente de São Bernardo dur Campo Tem gente do Brasil inteiro tem gente aí de outros países também show de bola Então pessoal essa
aqui é a semana do esquenta e Essas tecnologias golang docker nestjs next e vão ser todas as tecnologias que nós vamos usar lá no nosso estudo de caso dessa criação de plataforma de ingressos então é na semana que vem que vai ser a imersão full cycle essa apenas o Esquenta né que são essas lives aqui então já fique ligado a gente faz um pedido muito importante para vocês que é assista as lives porque aí quando chegar na semana que vem que a gente vai ter as aulas ali de montagem dessa plataforma de ingressos vai ser
eu e o Wesley a gente vai fazendo a dobradinha aí como sempre você vai conseguir absorver muito mais vai conseguir estudar e sair nesses 15 dias um profissional totalmente diferente tá eh dê muito valor a isso muitas pessoas usaram esses 15 dias absorveram muito conteúdo e só isso já deu um salto muito grande aí pra carreira eu já eh conversei até com pessoal que segue a gente aqui que só de ver a imersão já conseguiu uma vaga de emprego já conseguiu fazer um sistema mais robusto enfim eh eh o que a gente tá passando aqui
é só conteúdo de qualidade conteúdo de alto nível a gente tá dando aqui um outro rumo pra carreira de vocês então dê muito valor eh a gente vai ter código fonte aí até sexta-feira publicado nos repositórios gits pega esses repositórios Clone na sua máquina Dê um tempo para estudar que você não vai se arrepender beleza ah a williana Cardoso tá falando ali que ela tem namorado mas vai namorar o nest Pois é eh se você tem aí namorado ou namorada você eh 19 horas traza para assistir a Live ou senão você assiste a Live e
depois vai curtir outra coisa mas o importante é que essa semana aqui não tem todo dia dia dos namorados tem todo ano né Maravilha pessoal deixa eu me apresentar antes da gente começar Então a nossa Brincadeira meu nome tá aí meu nome é Lu Carlos Você pode me seguir nas redes sociais @ argentinalove agora exatamente 10 anos de casa tentão nesse projeto aí que é inovador que não tem igual aqui no Brasil que é uma escola de tecnologia que capac profissionais para que eles possam trabalhar com grandes aplicações a gente guia carreiras a gente faz
um trabalho sem igual então continuo nessa jornada aí além de ser CTO na full cycle Estou também eu faz parte dos treinamentos Então a gente tem pós-graduação MBA eu dou aula nos treinamentos internos aqui e também desenvolvo faço outras tarefas também nós somos uma empresa aqui que a gente consegue fazer eh muito com com pouco apesar da gente já ter crescido bastante aí nos últimos anos tá então é um prazer estar aqui com vocês mais uma vez normalmente É eu Wesley que fica à frente aí da imersão se vocês quiserem me encontrar nas redes sociais
só buscar aí @ argentinalove Instagram quiser tirar qualquer dúvida tá eh não se acanhe eu eu incentivo Mesmo muitas pessoas entram em contato aí para poder às vezes resolver determinados bugs e eh pedir conselhos sobre determinad as decisões de carreira fica à vontade tá pode ser que eu não responda a você exatamente na hora mas respondo com todo o carinho que for possível Ó tem gente aqui que até meu fã não sei como que é o desan l Muito obrigado pessoal falando ensina a fazer um namorado com JavaScript Olha eu já vi e fazer bolo
com JavaScript agora namorado né a gente pode até tentar no dia amanhã tentar projetar ali né mas eu não sei se vai sair um código muito bom pensando nisso show de bola Então pessoal é esqueci de falar também né Eh já trabalho há quase 20 anos aí na área de tecnologia eh eu fiz sistemas de informação Já faz um um tempinho aí e também sou Microsoft MVP aquele programa ali dos profissionais valiosos da Microsoft tenho vou para um ano agora Tomara que eu tenha seja concedido novamente que anual e é isso aí então vamos lá
pessoal e a gente vai começar a trabalhar com docker aqui então a minha ideia obviamente não não consegue ensinar docker durante esse tempo que nós vamos estar aqui na live porque docker é uma mega de uma tecnologia uma tecnologia bem complexa né mas a gente consegue aqui nessa Live te dar uma visão e solidificar alguns conhecimentos para que isso já comece a surtir um fruto para que abra a sua cabeça para que você comece se enxergar desenvolvimento de uma outra forma não só o desenvolvimento mas a criação a implantação a operação de aplicações de uma
outra forma totalmente diferente então nós vamos ver aqui alguns conceitos práticos eh a gente vai falar sobre contêiners sobre a história de virtualização e depois nós vamos ter um momento ali que nós vamos eh até codificar um pouquinho nós vamos trabalhar com Doc e nós vamos até tentar colocar um uma um contêiner aí em produção pra gente poder rodar alguma coisa então o objetivo aqui é que você tenha esse overview e que principalmente você consiga rodar os comandos básicos na sua máquina consega entender a importância do docker e comece até utilizar ele principalmente para desenvolvimento
Então quero que você saia dessa Live aí independente da linguagem de programação que você esteja trabalhando a gente vai falar mais sobre o DOC né mas eh a gente consegue desenvolver ver qualquer tipo de projeto com ele Independente se você esteja usando Java node eh csharp Python você consegue usar docker para poder operar as suas aplicações eu espero que essa Live seja muito produtiva para que você comece a usar docker né e já fica aqui uma lição docker é uma tecnologia que você vai aprender não só lendo livros vendo essa Live Mas você tem que
tornar uma coisa prática do seu dia a dia então não precisa necessariamente ficar estudando 4 horas de Doc e pega um tempinho do seu dia que seja 10 minutos que seja 20 minutos você vai fazendo algumas coisinhas e é aquela história você vai agregando esse tempo quando passou ali algumas semanas dois meses você olha para trás Poxa mas eu não imaginava que eu conseguia eh expandir tanto tá doc é uma tecnologia que você tem que colocar no seu dia a dia para que você comece a ficar bom nela tá então vamos começar aqui a nossa
brincadeira eh eu vou jogar [Música] uma uma imagenzinha aqui pra gente poder falar sobre virtualização Dev Moura pergunta se a gente vai usar Dev contêiner durante a aula a minha intenção que sim eu acredito que a gente vai conseguir chegar nesse ponto inclusive vocês podem mandando dúvidas eh algumas eu vou conseguir responder durante a Live mas é melhor que você mande dúvidas mais pro final pra gente poder eh ter um um fluxo bem dinâmico aqui da Live tá pra gente poder avançar bem então vamos falar sobre virtualização né antes a gente começar a falar de
docker nós temos que entender muito bem o que que é virtualização quem aí no chat não sabe o que que é virtualização Nunca virtualizada na vida nunca ouviu falar só para ter ideia deixa eu dar uma olhada aqui no meu chat nós temos ali algumas pessoas que não sabem o que é virtualização tá vou fazer outra pergunta para vocês eh vocês que nunca vi virtualização alguma vez você já rodou aí Provavelmente você tá usando Windows você já rodou um Linux nele ou colocou outro sistema operacional rodando ali num software talvez Tem gente que fala que
não sabe hack toch conta tá hack toch conta você tá virtualizando um sistema Você já usou aí um virtual boxx vmware enfim tem várias olias Ah tem gente que falou que não sabia o que era virtualização Mas acabou usando de alguma forma Beleza então eh a gente tem que começar a falar de virtualização para entender aonde que a gente chegou no momento e esse conceito de você ter um sistema operacional e rodar um outro sistema operacional dentro dele esse conceito não é novo tá ele surgiu na década de 60 com objetivo da gente ter uma
máquina que compartilhasse recursos entre vários usuários né Vamos pegar o conceito de um servidor eu tenho ali um servidor E aí eu quero que ele atenda a vários usuários diferentes Então para que eu consiga ter esse atendimento a gente acaba criando ali sistemas operacionais dentro desse servidor isolados por questão de segurança e por outras questões também para que esses usuários possam utilizar Então veja só isso já existe desde a década de 60 tá E esse conceito de virtualização ele foi criado pela IBM e aqui a gente vê uma imagem de como que funciona no final
das contas uma virtualização então eu tenho ali uma máquina não interessa se é um servidor se é o seu notebook se é o seu PC nós vamos ter o hardware com Storage com rede com portas USB e tudo mais e aí vai rodar em cima desse hardware ali no caso a gente tá eh eh falando mais dessa virtualização que a gente conhece que é um software instalado dentro do sistema operacional né Eh mas eu posso instalar um software nesse hardware que vai virtualizar também que não necessariamente tem um sistema operacional básico ali por debaixo dos
panos né porque normalmente o que a gente faz é ter aí o Windows ter o Mac ter o Linux e a gente instala um software que esse software vai permitir que a gente virtualize que a gente Rode outro sistema operacional mas a gente tem outras opções mais de baixo nível que vão permitir uma virtualização mais diferenciada Mas normalmente Independente se seja instalado direto no hardware ou no seu sistema operacional básico nós vamos ter esse hypervisor que na verdade ele vai ser o supervisor que vai gerenciar os recursos que vão ser acessados pelas máquinas virtuais tá
então toda máquina virtual ela vai ter esse conceito Inclusive a Microsoft criou a versão de máquina virtual com o próprio nome hypervisor por causa desse conceito né então hypervisor permite ali que as máquinas virtuais acessem CPU acesso em disco eh acesso em memória e outras coisas ela faz esse controle tá Às vezes você pode ter o acesso dessas máquinas virtuais direto ao recurso do Hardware ou esse recurso de CPU de memória ele pode ser totalmente virtualizado tá E aqui nas máquinas virtuais a gente vai acabar tendo um conceito que é esse vmm que é um
virtual Machine monitor que quando o o hardware não tá disponível na máquina virtual esse vmm ele vai enganar o sistema operacional da máquina virtual para que ele acredite que ele tá acessando diretamente o hardware então é muito interessante pensar nisso né que o seu sistema operacional virtualizado ele tá todo feliz da vida achando que ele tá acessando o hardware mas ele não tá então e a gente tem esse engano então a virtualização é muito legal porque a gente consegue compartilhar então uma máquina ali eh gerando várias máquinas para que os usuários possam utilizar e obviamente
permitindo que esses usuários acessem aí via rede eh e a gente tem esse conceito muito utilizado em clouds quando você tá alugando lá uma máquina em Cloud Pode ser que você esteja alugando existe até esse caso que você aluga uma mác um servidor mesmo físico Mas normalmente você está alugando uma virtualização a alugando ali um Windows ou um Linux da vida mas não é uma máquina eh Total ali para você você tá alugando somente aqueles recursos né Eh com o passar do tempo foram surgindo melhorias em cima dessa virtualização eh surgiu o conceito também de
para virtualização porque quando a gente trabalha com essa virtualização você instala aí na sua máquina um vmware Virtual Box a máquina virtual iniciou ela vai ser estrar aqueles recursos ali do seu hardware então ela vai alocar aquele pedaço de CPU vai alocar o pedaço de memória vai alocar o disco e ele tá sequestrado você só vai conseguir liberar uma vez que aquela máquina virtual for desligada né e isso é um problema então surgiu eh na década de 80 se eu não me engano acho que na década de 80 para virtualização que a invés da gente
enganar que o sistema operacional eh virtualizado eles ele pensa que ele tá o hardware ali só para ele ele na verdade vai entender que ele tá virtualizado E que ele tá disputando recursos com a máquina host que é a máquina que a gente tá rodando link Então essas essas paras virtualizaçao a gente pode dar um próprio exemplo aí eu tenho certeza que muita gente usa o próprio wsl né o próprio w wsl2 é uma para virtualização você você iniciou ele aí no Windows ele não sequestra todos os recursos ele vai usando inclusive vai devolvendo quando
ele não precisa Enfim então a gente tinha isso já desde a década de 60 Mas se a gente for pensar aqui eh muito bem a virtualização ela é muito pesada porque você tem uma máquina inteira sendo carregada ali no hardware você tem que carregar o sistema operacional com todas as features com todas as questões Então imagina que você está alugando esse servidor você quer permitir que usuários diferentes utilizem esse servidor Você tem uma carga de recursos muito grande sendo utilizada para que eu consiga fazer essa virtualização então foi aí que surgiu essa história de contêiner
que tem tudo a ver com o docker né a ideia do coner né é justamente a gente permitir que eu Rode coisas diferentes nessa máquina inclusive Rode essas coisas diferentes de forma isolada mas de uma forma muito mais leve tá a ideia justamente é então esse pensamento ele é esclarecedor porque a gente entende que é a evolução do mercado de Tecnologia da tecnologia como um todo para que a gente otimize os recursos utilizados pelas máquinas para que a gente possa jogar muitas coisas na nossa máquina isso Ficou claro para todo mundo ficou Claro pessoal beleza
tá então agora vamos falar sobre contêiner sobre esses contêiners aí que eu tô falando que é mais leve eu abrir aqui um sistema operacional o o Alessandro Barbosa perguntou se a para virtualização é como se ao invés de você carregar um sistema operacional totalmente você só virtualiza o que você quer não na verdade você carrega o sistema operacional inteiro mas ele não sequestra os recursos de de forma prematura ele vai usando sob demanda e a o hypervisor que está por baixo dele né Essa essa camada que permite que ele acessa aos recursos vai trabalhar em
conjunto com ele e ele entende que ele não está sozinho então ele trabalho em conjunto ele não vai eh alocar por exemplo os núcleos da sua CPU já logo de cara ele vai usando devolve e tal memória é a mesma coisa ele vai usando devolve então ele vai usando os recursos conforme é necessário né Eh inclusive o wsl que eu vou mostrar aqui agora né É É um ambiente virtualizado inclusive recomendo que vocês instalem eh o wsl na máquina de vocês para que você tenha um ambiente diferenciado aí no seu Windows tem muita Live que
a gente tem aqui no canal inclusive sou eu que Ministro eu tenho tutoriais e tutoriais e materiais para você poder montar um bom ambiente aí produtivo para poder desenvolver Dá uma pesquisada aí no canal tá eh esse wsl aí para quem tá usando Windows hoje é uma ferramenta básica de trabalho mas eh vamos brincar aqui sobre essa questão de contêiners tá na verdade a ideia de contêiner a gente tem isso aí com docker e docker a empresa se eu não me engano tem H quase 14 anos de existência Então na verdade a empresa não é
tão nova assim mas não é tão velha e a tecnologia docker foi lançada em 2013 apesar da gente ter o docker sido lançado em 2013 a ideia de se trabalhar com contêiner já era antiga também em 1979 já tinha um recurso no Linux que era uma forma da gente não ter essa virtualização inteira mas conseguir rodar as coisas um pouco de forma isolada Então eu tenho aqui na nesse nesse terminal que eu estou aqui é um Deb um Linux da vida e eu baixei pra minha máquina esse root FS aqui vou fazer um root FS
e aqui eu tenho o que é chamado no isso isso é um termo bem comum para quem tá usando o Linux de userland né que são as pastas eh padrões quando você tá usando um Linux da vida tem lá o Bin o boot o Dev o home que normalmente a gente vai escrever e eh trabalhar ali dentro eh tem a o var a pasta do usuário enfim né então Eh em 1979 surgiu um comando no Linux chamado de c h root que é o ele significa Change root e a gente usa ele assim tá Então
imagina que eu tenho aqui esse user L que é apenas um uma estrutura de diretórios básica de um Linux da vida eu consigo rodar um sudo ch root Rot FS que é a pasta que eu estou aqui e aí eu vou acrescentar um bim barra tá olha só que eu acabei de fazer eu acabei de entrar num outro terminal que é o b eu est aqui como rut se eu fizer um LS se eu fizer um LS aqui eu vou ter acesso essa userland que eu estou né mas eu não consigo voltar mais e ter
acesso ao diretório normal aqui da minha máquina então é uma espécie de isolamento de processo isso aqui come era muito utilizado para que as pessoas conseguissem eh subir seus eh eh sites né Eh eh e servidores webs de forma isolado um do outro você poderia compartilhar cada cada pessoa tinha acesso ao C Rot aqui poderia usar a pasta var para você poder jogar o seu HTML aqui por exemplo tá então eh o ch Rot ele é totalmente isolado Se eu entrar aqui no novo Debian da vida eu vou fazer aqui o comando PS ALX a
gente vai ver aqui que isso aqui são os processos que estão rodando no meu Linux eh eu acredito que seja esse aqui ó eu estou rodando um novo terminal mas ele tá preso ele tá preso naquela userland ali ó Eu só consigo acessar exatamente essas pastas home eu não tenho nada né posso criar aqui eh a pasta do meu usuário e tal e fazer outras coisas aqui e a minha máquina ela está meio que segura tá E esse c Rot ele não é eh utilizado hoje mais porque já criaram hacks nele para se você fiz
é um scriptz inho aqui e ficar dando um CD do um CD dois pontos infinito ele acaba eh eh perdendo aqui a proteção e você acaba voltando P sua máquina Você pode até pesquisar sobre isso aí mas era uma forma de isolamento sem que eu tivesse que fazer nenhuma virtualização né Eu não tenho que instalar aqui um sistema operacional totalmente novo então isso aqui já existia desde Essa época tá eh inclusive aqui que eu consigo fazer o comando top ó se eu fizesse Mount aqui e fizer o comando top o comando top fica vendo os
processos sem parar ao contrário do PSX eh Como Eu Fiz uma montagem do diretório esse comandinho aqui que eu fiz ele vai montar o diretório proc e da do meu Debian aqui dentro da minha userland então eu consigo ter acesso aos processos que estão rodando e outras coisas então a gente vê assim que não é um isolamento completo isso se torna inseguro né imagina que você quer pegar um servidor e você quer fornecer eh acesso paraos seus usuários e ter o isolamento entre eles que os usuários não acessem as pastas que eles não deviam c
rut não é uma boa é prática né Mas foi muito utilizado antigamente tá Beleza eh e aí a partir dos anos o mercado de tecnologia foi querendo criar maneiras da gente rodar eh essas coisas de forma isolada sem gastar muitos recursos né e a gente pode colocar assim que os anos 2000 foi a era eh das invenções Nesse sentido porque nos anos 2000 a gente teve a Google e outras empresas que criaram eh várias novidades para principalmente para Linux que permitiram chegar nesse ponto Agora que a gente tem o DOC aí para poder trabalhar com
os contêiners Tá então vamos vou voltar aqui ó se eu fizer um Exit eu voltei pra minha pro meu sistema operacional convencional e E aí nos anos 2000 surgiu dois recursos que permitiram que a gente gente tivesse de fato esse conceito de coners né é mais solidificado um é o c groups e o outro é o namespace tá foi justamente nos anos 2000 ali se eu não me engano o c groups foi em 2006 e o namespace em 2002 o c groups é um recurso do Linux que permite que eh a gente limite o que
um processo pode fazer no sistema operacional ou não então eu posso chegar num processo e falar assim olha Eh você vai acessar apenas tantos você vai acessar apenas três núcleos você também só vai acessar 500 m de memória você tá fazendo uma limitação pro processo que tá rodando E no caso de namespace é um recurso que permite que a gente monte um ambiente isolado mesmo para o processo que tá rodando ali então a gente consegue isolar por exemplo rede eu consigo fazer isolamento de outras coisas também de sistema operacional eh de disco etc tá a
gente consegue isolar várias coisas então a partir desses groups e name spaces permitiu que a gente conseguisse criar processos limitados e isolados num ambiente totalmente novo então a base de contêiners é exatamente isso são esses dois recursos aqui tá quando a gente tá falando desses dois recursos são recursos do próprio Linux não são virtualiza a gente não tá criando um todo o sistema operacional para poder fazer as nossas execuções inclusive ó eh vamos brincar aqui com esse namespace eu tenho aqui o comando que é um pouquinho grande ó se eu fizer esse comando aqui esse
unshare esse unshare é que faz esse isolamento aí do namespace se eu fizer esse unshare aqui com esse comando todo ele vai montar aqui o proc que eu consigo ver os processos lá dentro do sistema operacional usando o ch Rot mas aí é diferente porque ele vai criar um ambiente isolado eu vou entrar com o B tá agora or o que que eu vou fazer vou executar aqui o top e olha só eu não consigo mais acessar os processos que estão executando na minha máquina original eu só consegui acessar os processos que eu estou executando
no meu namespace que é apenas o próprio Bash que é onde eu estou rodando e o top que eu acabei de rodar eu sei muito bem aqui na minha máquina se eu rodar top aqui eu tenho várias outras coisas sendo executadas tenho coisas do Debian e tal então esse unshare ele permite Até que a gente consiga liberar portas de execução aqui dentro de forma totalmente isolada essas portas vão ser vistas apenas aqui dentro então eu posso ter múltiplos processos no meu sistema operacional e esses caras estão totalmente isolados e aqui ele tá sendo enganado ele
tá achando que ele tá com com o sistema operacional totalmente novo e poxa quando a gente vê aqui tem todas as pastinhas lá do Linux né mas a gente jogou a nossa userland isolando ele totalmente Então por debaixo dos panos o contêiner vai acabar fazendo isso e limitando as coisas que vão ser rodadas aqui com c groups vamos dar uma olhadinha no C groups pra gente poder entender como que as coisas funcionam E se eu fizer aqui no meu sistema operacional um System CTL status ah na verdade eu não tenho aqui eu tenho no meu
outro Linux fazer nele aqui System CTL status esse gráfico é bonito ele vai mostrar para mim todas as configurações em relação aos processos que estão rodando na minha máquina tá vendo onde que a gente tem aqui esse user slicing o Slice vai ser uma configuração que eu posso criar um arquivo eu crio um arquivo dentro do Linux coloco assim ó eh todo mundo que tá dentro desse slicing vai poder acessar tant os cores da CPU e tanto de memória então para cada coisa que você tá rodando aí no seu Linux o seu Google Chrome eh
O Firefox o vs code ele vai estar dentro de um Slice Você pode procurar Eu não quero entrar em tantos detalhes assim mas você pode dar uma procurad em alguns materiais eh que falam sobre esses slic você vai encontrar o esse arquivo dentro da sua máquina você pode criar os seus slices e jogar processos limitando o que eles podem consumir exatamente ali naqueles slices tá então isso aqui foi criado também aí nesses anos 2000 2000 Inclusive acho que a pasta que eles ficam eh LS Ah já tá aqui até na memória minha essa pastinha aqui
ó aqui estão configurado os C groups do Linux tá então a gente já pode falar um pouquinho sobre essa diferença entre trabalhar com coners e trabalhar com virtualização mesmo que ainda a gente não tenha visto um contêiner para valer né A gente só tá fazendo uma entendendo algumas coisas aqui eu vou pegar uma imagenzinha aqui para poder fazer a a comparação que eu abro essa imagem aqui aqui então nós temos essa comparação aqui ó enquanto em máquinas virtuais a gente tem aqui na infraestrutura o hardware aí eu tenho o hypervisor que vai gerenciar as minhas
máquinas virtuais e eu tenho a máquina virtual cada máquina virtual com seu sistema operacional inteiro quando eu tô trabalhando com containers eu tenho meu hardware aqui no verde o meu sistema operacional normal E aí vou ter a tecnologia que vai trabalhar com esses vai gerenciar esses contêiners que existem outras além do Doc mas ISO aqui é muito leve e ainer ele vai ser exatamente um Esso e Nada Mais enquanto em máquinas virtuais eu posso estar num sistema operacional Windows e rodar máquinas virtuais Linux Mac e outros sistemas com contêiner se eu estou no Linux Eu
só consigo rodar coners Linux eu não consigo rodar coners Windows se eu estou no Windows eu vou conseguir rodar containers Windows Então você apenas está usando de uma forma mais eficiente os recursos do seu sistema operacional sem virtualizar então no final das contas o coner ele é só um processo ou um grupo de processos que está usando o sistema operacional de forma isolada então isso consome muito menos recursos isso é muito mais eficiente Imagine se você tem um um servidor se você tem um hardware que você quer compartilhar com as pessoas você quer fornecer um
serviço isso que as pessoas vão poder rodar aplicações web é muito melhor você criar contêiners do que uma máquina virtual a gente ainda tem modelos de cloud várias hospedagens trabalhando com máquinas virtuais Sim a gente vai ter isso vai continuar existindo porque a virtualização ela não é ruim a gente não tá demonizando ela aqui mas a questão é que para esse cenário que a gente tá falando aqui que você quer desenvolver aplicações e rodar essas aplicações numa máquina contêiners é o modo mais eficiente entenderam essa ideia pessoal ficou Claro Ficou claro inclusive vamos até voltar
aqui ó ah quero voltar aqui pro meu deban se a gente fizer aquele unshare lá ó Cadê o unshare tá aqui na minha outra aqui se eu fizer aquele comando unshare eu vou vir aqui no meu deban mesmo e fazer um PS ALX para ver os processos ó provavelmente aquele bche que está disponível aqui onde que possa digitar os comandos é apenas um processo na minha máquina ele não tá virtualizado ele só tá achando que ele é um sistema operacional novo ele tá totalmente isolado se eu rodo um PS ALX aqui eu só consigo ver
o que é rodado aqui dentro acho que ficou claro né Beleza show de bola maravilha então agora vamos falar do docker né eu compartilhar aqui esse aqui é o site do docker docker primeiro é uma empresa então a empresa docker fornece a tecnologia docker então docker é apenas uma tecnologia não tô simplificando né a baita de uma tecnologia Mas é uma tecnologia que trabalha com esse conito de contêiners que a gente vai encontrar também concorrentes e outras tecnologias também não é somente o DOC mas o docker é o que mais se destacou é o que
é mais popular hoje no mercado para poder trabalhar com esses contêiners é isso que a gente precisa entender né como eu falei a empresa foi fundada lá foi uma Startup fundada em 2010 o nome do criador eu lembro o sobrenome é sim alguma coisa o nome do criador tem um outro cara também eh eles queriam criar uma Startup que fornecesse um serviço pros devis de criar implantar e operar aplicações sem se preocupar com a infraestrutura E aí 3 anos depois eles vieram com o docker e o negócio explodiu né eu comecei mexer com docker em
2016 a minha primeira impressão com docker Poxa que tarefa difícil que ferramenta complexa Mas é uma ferramenta que depois que você aprende também se torna bem simples né tudo que você não conhece acaba sendo complexo beleza pessoal eh vamos pegar aqui a parte da instalação tá isso aqui é muito importante porque existem várias formas da gente instalar o docker na nossa máquina para que a gente possa trabalhar com os contêiners docker é compatível com Linux Inclusive a ideia inicial a gente tá falando ali de Linux né docker Eh foi pensado em Linux depois que teve
suporte para Windows então ele tem suporte para windows para Linux e para Mac você pode usar essa ferramentinha aqui o docker desktop que ele facilita a instalação do docker na sua máquina mas eh a minha experiência que eu tenho com docker eu eh Apesar dessa o docker desktop é fantástico né ele tem um visual ali que você eh sabe quando o docker tá rodando sabe quais os contêiners que estão operando mas eu não normalmente não uso essa ferramenta e se você tiver recursos mais limitados a sua máquina eu não recomendaria principalmente Dock desktop porque ele
tende a consumir um pouco mais de recursos eu recomendaria que você instalasse o docker Engine então colocar aqui ó docker Engine que é a ferramenta básica ali do docker Então nesse link aqui vou jogar aí no chat você tem um overview aqui de como instalar esse Engine mas pra Mac que é o único que é o asterisco aqui você tem que instalar o desktop no caso do Mac você vai ter duas versões do desktop tá você vai ter a versão pros chips da Apple e pros chips da Intel Por que que a gente eh não
consegue instalar o docker nativo né esse aqui é o docker nativo porque o docker nativo foi feito para rodar e mesmo que Mac ambiente Unix ele ainda sim é virtualizado lembra aquela história que a gente tava falando que containers eles não virtualize só usam ali o próprio sistema operacional Então como o contêiner é Linux tem que ter lá no Mac então tem uma camadinha de virtualização ali para que você consiga rodar esses mas roda muito rápido então o melhor cenário dos Mundos é você rodar ele no Linux se você tiver oportunidade do Linux então instale
o docker Engine direto então pegando aí o caso do Ubunto né E você vem aqui em Debian Na verdade tem aqui a versão do Ubunto ó aí vai ter os comandinho para você poder fazer a instalação tá faça instalação depois aqui tem um post install para você poder habilitar o o grupo doc no seu usuário para você poder rodar os comandos sem ter que ficar fazendo o sudo toda hora então se você tiver no Linux pesquise aí a a sua distribuição Ok pro caso do Windows tem um asterisco também tá o Windows não recomendo que
você instale o Dock desktop você vai instalar o docker Engine mas ele vai funcionar no WS é o Linux aí da Microsoft rodando dentro do Windows tá aí vai ficar bem rápido mesmo que é onde eu tava mostrando aqui para vocês Sea eu vou voltar aqui no terminal ã aqui ó Isso aqui é o meu Linux o wsl é o Linux de terminal pode dar uma olhada aí também que a gente tem conteúdo no canal de como fazer instalação o wsl você instala com um comandinho só ele já vem por padrão ele já tá no
seu Windows aí a não ser que o seu Windows seja muito antigo Tá mas é o Linux tá rodando aqui então tem o comando doc ó ele tá funcionando aqui então você vai instalar o docker no seu Windows como se fosse no Linux por rodando wsl então no caso do Windows essa seria a melhor opção Tá mas para quem trabalha com dnet né as tecnologias aí da Microsoft desenvolve com dnet se você precisar rodar os containers eh em modo Windows ali para poder rodar eh C Sharp e essas coisas aí você precisa do docker desktop
mas fica tranquilo são informações que você vai pegando e se acostumando com elas nós temos também então suporte a contêiners em modo Windows mas isso aí normalmente é só para quem trabalha com Essas tecnologias aí tá beleza pessoal ficou claro isso aqui Alguém tem alguma dúvida sobre essa questão de instalação Podemos seguir tomar mais mais um pouquinho de água ó se você quiser fazer toda a instalação aí no Windows Inclusive a gente tem o melhor tutorial do Brasil Deixa eu voltar aqui pra minha tela do browser tem aqui o tutorial wsl quickstart eu sou autor
desse tutorial Inclusive é o melhor tutorial que você vai encontrar inclusive se puder entrar nesse tutorial D um Stars aqui ajuda esse tutorial a ficar cada vez mais conhecido ele vai te ensinar a instalar o wsl2 fazer configurações avançadas instalar o docker bonitinho também então você tem todo o material amparado aí pela gente tem a semana para você poder fazer essas configurações eu quando estiver aparecendo aí para você sempre vou usar o wsl2 e o docker quando for necessário Tá show de bola então quando o você instala o Dock na sua máquina ele vai ficar
rodando como um serviço ele vai ter um serviço ali para que ele consiga administrar os contêiners que estão rodando na sua máquina rodei aqui o comando docker eu tenho várias opções tá Inclusive eu que trabalho com docker tem muito tempo eu acho que eu não usei aqui alguns comandos deixa eu ver acho que o o não acho que eu já usei Tod é eu já usei todos eu acho o pause acho que eu não usei pause e o top ele mostra aqui os comandos disponíveis então eu consigo perguntar aqui para esse docker Quais contêiners que
estão rodando no momento eu faço um docker contêiner LS ó eu tenho alguns contêiners rodando aqui no momento coisas que eu estava fazendo antes inclusive banco de dados a gente vai falar disso aqui durante a nossa aula tá então eu tenho aqui um alas que inclusive você pode anotar Isso vai ser útil para pro seu aprendizado de Doc muitas vezes a gente tem os nossos containers rodando eu quero sumir com tudo isso aqui então esse alas aqui esse doc Stop representa esse comandinho aqui esse comando ele vai identificar todos os contêiners que estão rodando e
vai parar todos eles então ao invés de rodar Esse comando eu já tenho elas que é mais fácil né a gente vai aprender vai aprender nisso aqui durante a nossa aula mas eu rodei agora o docker container LS não tenho nada ele mostra a tabela esvaziei tudo né o comando docker PS é a mesma coisa porque depois de um tempo eles foram melhorando os comandos Então você tem essas duas opções mas o que é mais usado é o docker PS que já existia antes o docker container LS foi criado depois então agora vamos rodar o
nosso primeiro contêiner então a gente usa o comando docker Run E aí eu vou colocar aqui uma palavra chave chamada de Hello Word tá inclusive deixa eu fazer uma coisa aqui eh eu não quero que ele faça dessa forma eu tô com a imagem Deixa eu fazer um RM aqui nessa rmi hello world a gente vai aprendendo isso aqui durante só quero que ele faça do zerinho aqui ó vamos rodar isso aqui vamos deixar ele Executar tudo e agora vamos ver o que que aconteceu eu rodei esse hello world ele falou que não pode encontrar
a imagem hello world latest localmente então ele fez um pulling dessa imagem ele pegou essa imagem de algum lugar então ele terminou de fazer o download dessa imagem e aí ele rodou essa imagem ISO aqui é como se fosse o hello world né o Hello Word do Doc é uma imagem que vai acabar tendo essa execução aqui então o que que aconteceu aqui toda vez que a gente quiser rodar um contêiner esse contêiner ele é baseado na imagem sempre tá eu gosto de fazer uma analogia que é bem legal da gente entender ã Vamos fazer
assim ó eu vou entrar aqui num editor de texto mas imagina que a gente tem aqui Um JavaScript n acho que JavaScript aí todo mundo Pelo menos tem alguma noção imagina que eu tenho a classe pessoa E aí pessoa vai ter nome eh idade eh cor do cabelo enfim para poder gerar um novo objeto disso aqui eu faço um constante objeto é igual a pessoa certo e a partir daqui agora eu tenho o objeto para poder acessar as propriedades ou para poder acessar os métodos a mesma coisa acontece com o contêiner Então eu tenho a
imagem que é como se fosse a classe e aqui eu vou ter um monte de propriedades então o contêiner ele vai ser uma Instância da minha imagem todo contêiner que é o processo que está executando ele tem que ser baseado numa imagem a imagem nada mais é do que arquivos condensados arquivos Linux que estão compactados que eles vão descompactar gerar aquela userland ali vão ter as pastas do Linux eu vou conseguir rodar é isso Ficou claro o general novaz perguntou de um contêiner Build de uma imagem eu posso criar outra imagem e distribuir essa imagem
protegendo os arquivos contidos no contêiner funciona você tá distribuindo a imagem você não consegue proteger os arquivos porque pessoa tem acesso à imagem a imagem é como se fosse o SnapShot ela é um condensado de todos os arquivos então se a pessoa consegue ter acesso à sua imagem ela tem acesso a todos os arquivos que estão lá dentro tá não tem eh como você impedir isso aí beleza então nós temos esse conceito aqui beleza Tá então o que aconteceu quando eu rodei esse docker Run foi que eu falei pro docker Olha eu quero rodar um
contêiner baseado na imagem Hello Word então ele foi lá primeira coisa que ele faz é tentar ver se a imagem tá na sua máquina não tá tava na minha máquina por isso que eu fiz aquela exclusão da imagem então ele buscou no lugar essa imagem trouxe pra máquina e aí criou o contêiner a partir do condensado daquela imagem e aí o contêiner tem um objetivo né ele vai executar alguma coisa é um processo então acabou executando esse Hello Word aqui veja que agora a segunda vez que eu executo ele não mostrou mais que ele não
conseguiu encontrar a imagem porque a imagem já foi Baixada pra sua máquina então a sua máquina vai armazenando essas imagens aí tá mas de onde que acaba vindo essas imagens isso é fácil de entender também acho que todo mundo aqui pelo menos uma vez na vida já acessou o github né Acho que essa pergunta aqui não tem ninguém que vai falar não tem alguém aqui que nunca viu o github na vida que não sabe o que que é o github a pergunta que eu fiz hein quero saber se tem alguém que estava numa caverna durante
os últimos 15 não os últimos 20 anos não sabe o que é github acho que não tem ninguém né tá a gente não tem o github como um lugar que nós colocamos repositórios Git você coloca aí a sua aplicação seja ela qual for Então nós vamos ter o docker Hub que vai ser um repositório de imagens Então você acessa aqui o docker Hub você vai conseguir encontrar imagem para qualquer coisa que você quiser a se eu quiser então trabalhar com a minha linguagem de programação eu vou ter uma imagem para isso sim você vai ter
uma imagem pro PHP pro Java pro node pro rub pro Python pro csharp você vai ter a imagem pro MySQL pro POG vai ser difícil você não encontrar uma imagem que esteja aqui nesse lugar Então na verdade a gente pode colocar assim a gente começa a ver que o docker não é somente ali um iniciador de contêiners ele é é um ecossistema de serviços então um dos pontos é gerenciar os contêiners na sua máquina mas ele tá te dando aqui um serviço de armazenamento de imagens então se eu digitar aqui ó PHP aí tem a
imagem oficial né tem o Quando você vê esse ícone verdinho aqui a imagem oficial que ela tá verificada ela tem mais segurança tome cuidado né Eh use imagens sempre de fontes oficiais que é muito mais seguro tá cuidado dependendo da imagem que você utilizar na sua máquina você pode estar baixando algum vírus pra sua máquina então aqui eu tenho imagem pro PHP se eu digitar Java aqui vou ter imagem pro Java também na verdade não é essa aqui que eu coloquei acho que o Java tá acho que chama jdk qual que é o nome do
Java Oracle alguma coisa o pessoal usa mav eu não lembro exatamente do Java mas tem imagem as imagens também do do Java normalmente você acaba utilizando o gerenciador de pacotes lá do Java tem imagem que já vem com mavin o gradle também que é outro gerenciador lá do Java também já tem ó que legal aí se eu digitar maisq também já tem imagem para você poder rodar uma SQL o postgress SQL também enfim que você quiser vai ter aqui então com esses contêiners a gente vai conseguir rodar instâncias dessas aplicações em modo contêiner você vai
perceber ao longo do tempo que você vai querer rodar tudo na sua máquina com contêiner você vai querer instalar nada na sua máquina e aí nós vamos ter um benefício porque e quando a gente começa a trabalhar com esses contêiners nós começamos a nos afastar de ter que instalar coisas nas nossas máquinas e os contêiners vão permitir que você consiga rodar um ambiente da sua aplicação o mais próximo possível ou idêntico do de produção e você vai conseguir rodar o ambiente idêntico ao do seu colega de trabalho e aí tem o meme né aquele meme
categórico aqui vamos colocar no Google na minha máquina funciona não tem o meme Tem um memezinho aqui ó na minha máquina funciona então vamos entregar sua máquina né então vamos entregar sua máquina a gente não tem sempre essa essa desculpa aí tem outro meme também na minha máquina funciona e foi assim que surgiu o DOC para que a gente possa se livrar ali da das questões do nosso sistema operacional que você tá criando um ambiente novo você configura essa imagem com tudo que você precisa paraa sua aplicação rodar seja ela aplicação PHP seja uma SQL
seja o post você condensa tudo ali se você tá rodando esse ambiente condensado na sua máquina você pega essa imagem e roda também em produção então o processo de fazer a implanta dessa aplicação se torna mais simples e também a gente vai ter outro benefício Vamos pensar o seguinte ã Deixa eu tirar essa imagem daqui vamos voltar eh lá para aquele exemplo que tá aqui na documentação do Dock quando a gente tem esse ambiente aqui de contêiner eu posso criar vários contêiners baseados numa mesma imagem Então imagina que eu tenho ali a minha aplicação eh
PHP eu posso gerar vários contêiners dessa aplicação PHP para poder escalar o meu software e ele atender mais solicitações Então olha que legal isso né enquanto com máquinas virtuais eu teria que gerar uma máquina por aplicação Olha que desperdício de recurso né tô criando sistema operacional inteiro tudo ali só para poder rodar a minha aplicação enquanto em containers eu tenho a mesma máquina com esses múltiplos processos rodando então eu posso criar e quatro instâncias da minha aplicação 10 instâncias 100 instâncias quantos forem necessários quanto de recurso for disponível para poder atender as minhas solicitações tá
então show de bola pessoal eh vamos voltar aqui pro dockerhub eu deixar só o Dock Hub aberto tá aqui vamos brincar com WordPress tem alguém aí que não conhece WordPress Imagino que a maioria do pessoal que esteja aqui Conheça o WordPress olha só o que a gente tem aqui também tem o WordPress pra gente rodar né ah o o r cony perguntou se alguém odeia WordPress eu tenho certeza que muita gente odeia o WordPress Mas a gente não pode negar que ele é uma ferramenta muito popular e que é muito utilizada para poder criar sites
blogs enfim né e ele é muito utilizado você vai qualquer hospedagem mais é simples que você encontrar eles vão oferecer um out presso para você então a gente consegue rodar isso com docker também aqui no ridm da página a gente consegue ter acesso às versões das imagens que eu consigo rodar então a gente consegue ter eh imagens que estão rodando com php7 com php8 com outras tecnologias ali então cada imagem ela vai condensar ali ferramentas que vão vir que vão eh estar disponíveis ali no seu contêiner aqui em tags a gente consegue ver as tags
que estão disponíveis então ó Parece que eles vão lançar aqui uma nova versão tá Beta estão testando a versão com PHP 8.3 Mas aí tem um PHP 8.2 no finalzinho aqui tem esse Alpine Então significa que a imagem vai vir baseada no Linux Alpine que é um Linux pequenininho muito utilizado no mercado né quando você não quer e eh um Linux maior então o seu contêiner vai iniciar bem pequeno ó ele tem 85 você analisar outras imagens provavelmente a gente vai ter vamos pegar alguma que não é o p não é o Pine aqui p
tem alguma que tem aqui só deixa ver da vida tem ó a diferença essa aqui já vem um AP configurado já tá isso aqui é o valor em compressão né e imagem tende a gastar um certo tanto de armazenamento mas fica tranquilo com isso em questão na sua máquina que isso vai baixando pra sua máquina mas você vai excluindo isso é muito tranquilo tá mas essas imagens mesmo armazenam bastante coisa beleza então Eh vamos escolher aqui uma imagem vamos pegar não quero pegar essa Beta aqui porque vai que aconteça alguma coisa né de errado ali
não dê certo vamos pegar algo que não seja Beta aqui ó vamos pegar essa aqui ó então eu quero rodar essa versão do WordPress que o PHP 8.3 Esse fpm é um serviço do PHP ali que fica rodando para poder acelerar a a velocidade do PHP com alpe beleza então ah vamos deixa eu mudar minha tela na verdade Deixa eu fazer o seguinte aqui aí eu vou aqui para cima agora você tá me vendo aqui do lado de cima que fica mais fácil poder trocar janela e vamos para cá então vou fazer um docker Run
joguei aqui a minha tag então eu coloco WordPress dois pontos mais a versão da imagem que eu quero rodar Beleza então vamos dar um enter não tem local ele vai baiar vai fazer o download agora o download é um pouco mais devagar né porque aquela imag lá Hell World é muito básica né mas até que ele não demorou muito tempo que a minha internet não tá carando E aqui ele começou a rodar o meu contêiner a diferença desse WordPress para aquele hello world deixa eu até tirar essa tzin daqui do meu nome Cadê aqui aqui
esse contêiner não morreu o contêiner continua executando né ele está disponível ele está aceitando conexões então ele tá preso esse terminal meu aqui tá preso deixa eu sair desse Deb que eu estou aqui e voltar pra minha máquina convencional se eu rodar o comando docker PS ele vai listar o contêiner que tá rodando o hello world não lista porque ele já morreu Então eu tenho o ID do contêiner o nome da imagem tá vendo aqui em cima o nome da imagem então é o WordPress com essa tagz inha aqui que é a versão dela aqui
é o comando que foi executado quando o contêiner baseado nessa imagem iniciou foi criado há 45 segundos atrás e o status dele está up significa que ele tá rodando ele poderia estar aqui Dal estaria morto tem como a gente mostrar os contêiners que morreram aqui eu tenho a porta que ele está rodando lá dentro tá E aqui é um nome Eh esses nomes são criados inclusive semana do dia dos namorados tá teve que aparecer um romântico aqui né esses nomes são aleatórios aí não sei como que a doc cria esses nomes mas acaba sendo engraçado
né então o contêiner que está rodando aqui para mim mas a questão é pera aí eh ele tá rodando aqui na porta 9000 não tá será que eu consigo acessar essa porta de alguma forma porque aqui na documentação ele vai falar que o WordPress roda na porta depois a gente vai falar sobre isso aqui o WordPress roda na porta 80 a gente vai entender essas questões de porta aqui do WordPress não é o assunto também da Live Mas será que eu consigo acessar talvez na porta 80 né o local host aqui local host 8080 nada
será que aquele 9000 eu consigo acessar n também não deu certo hein eu não consigo acessar o meu WordPress uma aplicação web PHP n Eu tenho que rodar isso aqui de uma outra forma Porque no momento que eu executei isso aqui com o docker eu não falei para ele qual porta na minha máquina que eu vou acessar esse contêiner lembra do que a gente estava falando que o namespace criava um ambiente isolado Pois é então o contêiner nosso está num ambiente isolado rodando como processo no sistema operacional ele pode rodar nesse ambiente em qualquer porta
é como se ele tivesse lá no sistema operacional novo né ele tem a porta 8000 ele tem a porta 80 ele tem a porta 9000 ele tem lá 65000 portas que normalmente osas operacionais tendem a ter mas esse ambiente ele tá isolado na na minha máquina Então eu preciso falar pro docker que na quando eu acessar uma porta da minha máquina ele reflita na porta do contêiner Então esse coner que eu rodei aqui eu tenho que apagar ele e aqui vem a primeira lição que já fica aí para vocês Poxa mas eu vou apagar esse
contêiner eu vou perder ele contêiner é efêmero tá que que é efêmero quem sabe o que é efêmero V ver no chat se vocês estão craques aí no português que que é não vale pesquisar no Google tá é exatamente se perde vida curta a gente não tem que ter apego a contêiner contêiner Na verdade nós temos que ter a certeza que uma hora ele vai morrer então contêiner eu ten que destruir então eu posso chegar aqui dar um cont control c para ele parar ou se eu quiser parar ele no outro terminal aqui também eu
posso fazer um docker Stop passando o nomezinho dele esse nome aqui ou o ID dele que é esse ID que ele gera para cada contêiner que tá rodando tá inclusive o ID eu não preciso passar o ID inteiro Se você passar as duas primeiras letras já serve porque vai ser difícil colidir o ID aqui vai ser gerado bem diferente então não precisa Às vezes você tem que ficar eh copiando o ID aqui não tem necessidade tá Tá então vamos lá eu vou ter que rodar novamente esse contêiner Então agora eu vou passar aqui a opção
menos P menos P vão habilitar aqui como a documentação fala a porta 80 80 2.80 então a gente tá habilitando aqui que na minha máquina eu quero acessar na porta 80 80 e vai se refletir na porta 80 do contêiner show de bola aqui a gente vê até que ele iniciou mais rápido né porque ele não já tem a imagem Baixada paraa minha máquina então ele não precisa baixar novamente Pronto ele já tá aceitando aqui as conexões então agora vamos mudar aqui pro browser eu acho que essa versão que a gente baixou aqui não foi
Foi uma boa escolha mesmo que eu habilite aqui ó na porta 80 não rolou mesmo a gente tendo colocado vamos fazer aqui um teste de jogar na 9000 que é o que ele tá rodando o PHP fpm que é o serviço lá também eu acho que não vai rolar mas a gente roda com a versão do apach também não vai rolar vamos rodar aqui uma outra versão eu tenho a última versão aqui é uma versão com apach vai ser mais adequada vamos pegar aqui que ape vai rodar na porta 80 dentro do contêiner Então vamos
pegar uma versão que não seja não quero pegar a versão Beta Beta não é pode ser essa aqui ó ou talvez até uma versão mais específica Então vamos passar essa versãozinha aqui aí aqui agora a gente vai jogar 80 que é a porta que o apacho tá rodando dentro do contêiner aí ele vai baixar pra minha máquina também ó não tem ó aa tá rodando aqui beleza então agora voltando pro browser Olha só quem apareceu aqui WordPress rodando sem eu ter que instalar PHP na minha máquina sim eu ten que ó para você poder instalar
um PHP Aí você faz um PHP instala umas extensões que são necessárias e tal eu já tenho meu WordPress rodando aqui então Vamos colocar português do Brasil e agora ele dá deu as boas-vindas ele vai pedir para eu conectar um banco de dados pra gente poder criar aí os sites né então vamos lá e agora eu tenho que passar um banco de dados aqui mas obviamente eu não tenho um banco de dados eu poderia conectar num banco de dados que já tá aí na minha máquina e etc não teria problema nenhum Mas agora vamos rodar
também um banco de dados com contêiner e fazer essa conexão dar certo né Inclusive a gente pode até fazer aquele comando vamos fazer aquele comando do PS aux tá vendo aqui ó esses processos são os processos lá do contêiner eles estão na minha máquina Eles não estão sendo virtualizados é apacho rodando então o contêiner tá sendo enganado Para ele achar que ele é um sistema operacional novo ele tá apenas usando os recursos Compartilhando os recursos do meu sistema operacional muito mais leve do que a gente virtualizar qualquer coisa para poder isolar tanto para desenvolvimento quanto
produção né então isso aqui é muito legal entender isso aqui se eu cortar um processinho desse aqui poderia fazer aí um kill né um kill acho que é os9 e passar aqui o pid eu mato o contêiner porque o que tá segurando o contêiner esse ape rodando Mas beleza então vamos Eh vamos vir para cá a gente vai trabalhar com my Kell então my Kell vamos ver o que a gente tem aqui ó my Kell tenho também várias versões aí você vai ter o my Kell versão 5 versão 8 tudo tá guiado com a imagem
você vai conseguir ver tudo isso aqui ó tem a versão aí de Oracle e versão LTS você tem versões mais antigas e mais novas Tá então vamos lá aqui eu tenho o meu Apache rodando com WordPress Então vou rodar um outro contêiner com mql então vou fazer um docker Run MySQL vou usar uma versão o aqui 8030 traço deban Isso aqui é uma versão que eu eu sei que eu uso sempre aqui na minha máquina para ele não precisar baixar certo E aí vamos rodar esse cara aí ele falou pra gente aqui olha eh ele
já rodou mais sk na minha máquina para você poder rodar você precisa passar variáveis de ambiente tá ele tá falando isso aqui você precisa definir uma dessas três variáveis Então nós vamos definir uma variável de ambiente Vou definir somente a senha do Rot por uma SQL vou colocar igual a Rot mesmo tem problema nenhum essa variável de ambiente é uma forma da gente passar esses valores aqui pro coner quando ele iniciar ele sabe ali que tem esse valor aí ele vai criar toda a Instância do banco de dados vai criar o usuário vai eh eh
ter o banco de dados todo disponível ali então bora lá agora o my Kell começou a rodar vamos aguardar mais um pouquinho até ele mostrar uma mensagenzinha que ele tá disponível aqui ó ele tá Ready For connections versão 8030 e tal então ele tá disponível certo então agora se eu acessar aqui mais uma vez o docker PS ou contêiner LS que eu mostrei lá no início da Live Ach PS é menos digitação Agora eu tenho dois contêiners rodando então eu tenho o my Kell e tenho o WordPress Olha que legal inclusive aqui ó o mycell
lá dentro do contêiner está rodando na porta 3306 e também na 33060 que é outra porta também que ele roda por padrão então eu tenho essas duas aplicações Inclusive a gente consegue entrar no contêiner olha só que legal eu vou fazer o comando docker eec menos it esse essas opções aqui é pra gente poder habilitar o modo interativo para que a gente possa logar dentro do contêiner aí eu posso passar tanto o ID dele quanto o nome que é se Carson aqui eu só preciso passar b17 por exemplo E aí eu coloco Bash na verdade
b71 coloquei errado né Estou dentro do contêiner se eu fizer um LS essas aqui são as pastas que estão dentro do contêiner do My Kell se eu quiser entrar ali no console do My Kel eu posso fazer um my Kel menos o root menos P root que eu Us 100 igual ó tô aqui dentro do banco faço um Show databases eu tenho o information schema SQL e tal posso entrar aqui ó num banco de dados fazer um show tables fazer a festinha do SQL aqui e eu tenho um banco de dados sem ter que instalar
nada na minha máquina show de bola então nós temos eu saí aqui do container eu tenho os dois contêiners agora a questão é como que eu faço para poder chegar aqui e colocar as credenciais de banco de dados corretas né aqui ó banco de dados a gente pode chegar vamos voltar para cá ó [Música] ã eu vou rodar novamente o bch que a gente entra no contêiner vamos lá novamente vou fazer um Create Database test certo agora eu tenho o meu banco de dados teste aqui então eu posso chegar aqui falar banco de dados vai
ser teste usuário vai ser root a senha também vai ser rot e o servidor do banco local host né Tá se eu enviar isso aqui ele vai dar um erro para poder comunicar com o banco de dados ele vai falar ali que não consegue comunicar com local host etc né O que que aconteceu aqui o erro foi justamente porque a gente tem que entender isso aqui é um pouco difícil é para quem tá começando a trabalhar com Dock mas essas informações elas vão ser enviadas para dentro do contêiner do Wordpress se eu coloco local host
tá inclusive até consigo acessar aqui o coner do Out faço um docker PS Eu sei que é o ID AFC aqui né então consigo fazer menos it AFC B aqui eu estou nopr tá vendo tem todos os arquinhos aí P PHP eu estou enviando as informações para cá se eu coloco local host ali naquele formulário o contêiner vai tentar conectar no banco de dados por local host mas a gente tem que lembrar daquele isolamento o contêiner tá num ambiente como se ele fosse uma máquina então a palavra local host aqui dentro se refere ao próprio
contêiner tá a própria máquina é como se ele fosse uma máquina ele tá isolado do mundo fica claro isso aqui eu não consigo sair daqui então eu tenho que arrumar uma forma que ele consiga entender que ele precisa chamar o outro contêiner que tá isolado também entenderam essa ideia Ficou claro pessoal mas o problema Olha só teve alguém que falou aqui o Marcos Maia falou assim expõe a porta do mais Kell beleza vamos fazer o seguinte aqui então eu vou sair daqui certo esse tá rodando eu V par ele eu acho que ele com control
tem alguns contêiners que comtrol C você não vai conseguir então a gente faz aqui um docker Stop AFC Ah não FC é o o b71 na verdade que mais k tá então aqui vamos voltar lá eu posso chegar aqui e passar Men P eu quero habilitar a porta 3306 na minha min a máquina que vai refletir na 3306 do contêiner aqui eu estou liberando que eu acesse por local host mas mesmo assim isso aqui não vai corrigir o problema por qu eu estou expondo pra minha máquina se eu pegar aí um software qualquer qualquer um
que vocês usam aí de administração de banco de dados o próprio mycell work bint lá da Oracle qualquer coisa você vai conseguir acessar com local host 3306 O problema é que as informações aqui elas vão pro dentro do container do WordPress local host não sai do contêiner então a exposição da porta não resolve o problema uma primeira opção seria a gente identificar o IP do contêiner cada IP acaba sendo executado com um IP tá se eu fizer aqui um docker inspect no ID Olha que foi outro contêiner que subiu né isso aqui também é um
problema porque eu perdi os dados que eu tinha lá no outro contêiner mas a gente vai falar sobre isso se eu fizer aqui um insect ele vai mostrar o Manifesto do meu contêiner tá vendo essa informação aqui esse aqui é o IP do meu contêiner que tá rodando na minha máquina é o 72 1703 então uma forma seria colocar o IP aqui mas isso não é uma boa prática porque Lembra que eu falei que contêiner é efêmero a gente não deve ter apego ele deve ser destruído eu posso Desligar minha máquina hoje amanhã voltar e
o IP do contêiner ser 1704 aí o meu WordPress vai ter erro para poder acessar o banco de dados é melhor a gente trabalhar com nomes do que com IPS por isso que a gente tem os endereços na internet você não acessa por IP os sites você tem ali o acesso por nome o DNS vai fazer a conversão pro IP então quando o docker tá rodando esses contêiners ele cria uma interface de rede ao qual esses contêiners vão ter o IP atribuído Mas eles estão rodando em ambientes isolados sem conhecimento um do outro tá mas
a gente consegue fazer com que o docker nos ajude a incluir nomes que esses contêiners vão poder e converter no IP que aí ele vai conseguir acessar Então a gente vai ter uma espécie de um DNS o que a gente vai fazer aqui agora então vamos lá esse banco de dados aqui que eu criei a gente vai matar Vamos matar tudo aqui na verdade V matar tudo aqui vou fazer um Stop no e22 e no AFC dá para parar múltiplos coners Tá eu vou criar aqui uma rede no docker fazer um docker Network create e
Network Vou Colocar assim WordPress Network WordPress net certo então uma rede imagina como se você tivesse criando um roteador que você vai plugar todo mundo ali você tá criando uma rede que todo mundo vai se conhecer por padrão os contêiners só são acessíveis via IP então a rede Vai facilitar a gente nesse sentido Então agora eu vou rodar o comando do press vai rodar aqui um novo WordPress mas a gente vai passar a opção menos menos Network eu vou passar aqui WordPress net e ele vai rodar aqui o apacho para mim e aqui no outro
terminal eu vou rodar o mycell mais uma vez não precisa P porta a não ser que eu queira acessar na minha máquina e aqui eu vou passar um menos menos Network WordPress net tá deixa ele inicializar T de bola tá disponível aqui então agora a gente tem mais dois contêiners novinhos ó diferentes do que a gente estava usando anteriormente mas agora eles estão na mesma rede E aí nós vamos ter um benefício muito grande com isso Tá mas antes vamos entrar lá no novo my que a gente tem que é o d 3E eu quero
criar um novo banco para que o WordPress possa usar então Create Database test beleza criei meu banco de dados então agora vamos voltar aqui eu vou ter que acessar de novo do zero Wordpress aí vamos colocar eh Portuguesa do Brasil aí Aqui o banco de dados vai ser teste usuário Rot semha rot e agora qual que é o servidor do banco de dados o servidor do banco de dados pode ser justamente o nome do contêiner então vamos sair aqui quando eu tenho eles na mesma rede eles são acessíveis pelo nome dentro dessa rede Então esse
nomezinho aqui ó esse slip Galois É exatamente esse nomezinho que eu vou colocar aqui e aqui o prefixo da tabela para mim tanto faz muito bem você concluiu a instalação agora o WordPress pode se comunicar com seu banco de dados Então deixa ele fazer instalação Vamos colocar aqui imersão psyco nome do usuário senha confirmar senha fraca aqui colocar um e-mail qualquer instalar o WordPress WordPress instalado acessar admin admin e tá aqui meu WordPress funcionando e aí agora eu tenho a ferramenta toda para poder criar a o meu site criar temas e tudo mais que eu
quiser né se eu acessar local host aqui na porta 8080 de novo tá aqui o meu site imersão já pronto então olha que legal isso aqui né Então olha que interessante essa questão do local host né É É a gente tem que mudar um pouquinho a mentalidade eles estão na mesma rede no WordPress net que a gente criou E aí eles são acessíveis pelos nomes no caso a gente acessou dessa forma aqui ficou Claro pessoal ficou claro isso aqui sim né curtiram Olha que dificuldade né para você poder instalar um WordPress uma skell na sua
máquina sim você pode passar os nomes você faz um Dock Run aí Aqui você pode passar assim ó menos menos name aí você pode colocar xpto tá se você não passar ele vai acabar criando um nome aleatório para você não levei 5 minutos mas mesmo assim vamos pensar aqui numa situação poxa se eu tiver desenvolvendo aí com WordPress eh eu tive que criar aqui o meu my KL cada vez que eu rodo esse contêiner do myk tá criando um contêiner novo Então significa que eu tô perdendo os meus dados eu tenho que ficar fazendo essas
execuções desse comando ainda assim não tá produtivo é legal tá totalmente isolado da minha máquina eu posso desligar esses contêiners a qualquer momento eu posso melhorar essas execuções aqui posso aí que vai entrar uma outra ferramenta do docker chamada de docker compose que é que a gente vai mexer agora então vamos lá vou entrar aqui na pastinha da imersão e vou criar aqui a pastinha de lives lives pastinha docker aqui e vamos vode docker comp também é uma ferramenta inclusive até não falei tá o DOC é uma ferramenta feita em go que Wesley abordou ontem
linguagem que tá bombando aí na na comunidade e o docker comp essa ferramenta que a gente vai falar antes ela era construída com pyon agora com go també então o docker ele vai organiz S de múltiplos contêiners para poder facilitar né porque agora que a gente tá trabalhando com contêiner a gente pode ter um ambiente bem complexo posso querer rodar múltiplas aplicações ao mesmo tempo banco de dados ferramenta de mensageria mais não sei o qu então a gente não vai ficar fazendo Dock Run o tempo inteiro ali então a gente vai criar aqui um docker
tras composer pemo a gente vai usar esse formato de manifesto né que é concorrente aí do Jon de outros para poder descrever o que que a gente precisa esse docker compose vai ser uma ferramenta que a gente utiliza assim ó docker compose ali na na instalação do docker Eng se você tiver o docker desktop que eu comentei mais para trás no vídeo Você já consegue fazer instalação dele tá ele que vai rodar ali O Manifesto Então nós vamos definir aqui os serviços que vão ser os contêiners que a gente vai querer rodar então primeiro eu
quero rodar o WordPress então coloco o WordPress aqui pode ser qualquer nome que você quiser e aí eu vou definir a imagem a imagem vai ser o mesmo nomezinho que a gente estava usando antes eh qual que era o nome aqui vamos pegar o nome vou parar esse Word press que tá aqui ó Então vai ser a imagem vai ser esse nomezinho aqui então beleza eu tenho que disponibilizar ele na porta 8.000 então eu coloco aqui p na verdade 8080 então coloco assim ó traço 8080 2.80 como o c Pilot já tá querendo fazer aqui
para mim né Inteligência Artificial tá vendo a gente só tá replicando o que a gente tá fazendo lá no docker Run Teve mais alguma coisa que a gente fez aqui no WordPress teve a rede né mas a rede a gente não vai precisar criar porque o docker compos já vai criar uma rede padrão entre os nossos contêiners mas a gente consegue criar redes aqui também e aqui vai o MySQL então a imagem do myc vai ser my KL 2. 8.0.30 tro debin a gente vai precisar e criar a variavel Zinha lá de ambiente né que
é aquele mycell root password para definir a senha do root e aqui também eu posso passar uma outra variavel Zinha que é para ele criar já um banco de dados padrão né para não ficar entrando no mas para poder fazer o processo a gente já pode colocar ó Cri um banco de dados aí chamado teste para mim beleza então eu já tenho aqui o meu Manifesto para poder brincar não tenho nenhum contêiner rodando ou ainda tem ó vamos fazer um Stop nesse cara aqui D 3 e coloquei errado 3 e show de bola então não
tem nenhum contêiner rodando Vamos fazer um docker com post up e o que que ele vai fazer para mim subir os dois containers já era não preciso ficar fazendo cada execução de forma manual ele vai mostrando os logs dos dois contêiners o o do WordPress foi mais rápido para poder subir né tá aqui ó o apach for Ground aqui e o my demorou um pouquinho mais então agora é claro que que a gente tem eh um novo WordPress vamos fazer aqui local host na porta 8080 aí a gente seleciona lá mais uma vez o português
do Brasil é mesmo processo então aqui vai ser o nome do banco vai ser teste usuário root senha rot e aqui qual que vai ser o servidor do banco de dados a gente já aprendeu colocar o host não funciona aqui quando a gente já inicia esses contêiners ele já cria uma rede que ele coloca esses dois contêiners então eu posso usar o nome mais Kell direto ou o nome que eu tenha colocado ali show de bola enviar muito bem Você conseguiu fazer a sua configuração imersão fulls admin admin confirmar a senha e aqui tá instalar
o Wordpress acessar o WordPress show de bola a gente já conseguiu fazer o processo novamente então o docker compose é a ferramenta que a gente vai tender a Executar a maior parte do tempo para poder organizar esses múltiplos contêiners tornando fácil Essa execução você cria esse Manifesto aqui você pode criar com quantos serviços você necessitar mas aqui ainda a gente tem um problema né Se eu fizer um control c aqui ó ele vai parar os containers ele parou os dois você pode até fazer o comando agora docker compose PS ele mostraria somente os containers desse
docker compose ele não tá mostrando nada o problema aqui é o banco de dados né porque toda vez que eu iniciar de novo se eu fizer aqui um docker eh por exemplo da que é um comando que mata ele vai excluir o coner da sua máquina o contêiner também fica armazenado ao subir de novo ele vai subir um novo banco eu perdi aquilo que eu fiz né eu não posso perder aí que vai entrar o conceito de volume tá vai entrar o conceito de volume o volume vai ser um Storage que é compartilhado entre sua
máquina e o contêiner tá eh nós podemos dar uma definição mais Ampla mas eh Por Enquanto essa definição aqui já tá boa para você poder entender eh a gente pode fazer outras coisas com o volume também mas se você entendendo isso aqui já é interessante Então o volume vai ser algo que vai ficar armazenado na sua máquina que ele vai ficar sincronizado entre a sua máquina e o contêiner então eu posso configurar aqui também um volume esse volume é configurado lá com docker Run também tá então aqui eu vou criar uma pasta eh mais k
l deira e ela vai apontar eu coloco esses dois pontos para falar qual caminho lá dentro do contêiner que eu vou sincronizar que eu vou espelhar que vai ser o Barra var Lib mais Kell que é lá vai armazenar os dados do banco Então significa que essas duas pastas elas vão estar totalmente conectadas e sincronizadas então agora quando eu fizer aqui um docker compose up que que vai acontecer o docker vai criar a pasta para mim ele já vai ter os dados aqui do banco de dados a gente viu aqui até criou test esse banco
de dados test aqui que vai ter todas asab eudo mais agora ao criar o volume é que eu posso parar o meu contêiner eu posso fazer um RM que exclui o contêiner posso fazer um docker compos que faz a exclusão automática dos dois se eu voltar a fazer aqui o Up ele vai criar um contêiner diferente mas esse novo contêiner vai acabar usando os mesmos dados que já estão salvos aqui tá a gente pode fazer esse teste ó vamos chegar aqui e fazer um local host na pota 80 80 obviamente a gente criou tudo do
zero né ã aqui português do Brasil continuar então aqui o meu banco de dados vai ser teste usuário root senha root aí aqui a gente aprendeu que o banco de dados é mais Kelly aí enviar instalar imersão full cycle eh admin admin tá lá o WordPress acessar admin admin Beleza então agora voltando aqui pro vs code ó a gente pode fazer o comando para ver que o banco de dados ele vai ser a Instância do contêiner diferente ó vamos fazer assim ó docker PS né Ó o contêiner do My Kell É esse aqui começa com
D1 D7 e e e tal tem esse nomezinho aqui que ele acabou criando aí no caso o docker compos acaba criando um nome diferente né ele não vai usar aqueles nomes aleatórios ele vai pegar o nome da sua pasta mais o nome do Service que você colocou aqui que simboliza o contêiner e coloca aqui o tracinho para enumerar tá então eu vou fazer um Stop se eu rodar de novo ele acaba pegando que o stop o contêiner ainda existe eu posso iniciar um contêiner que existe com docker Start passando o ID do contêiner tá se
eu quiser ver os contêiners que existem na minha máquina que não estão rodando eu faço um docker PS Men A ó Isso aqui é tudo contêiner que existe na minha máquina mas que tá parado né então se eu fizer o docker compose Up ele volta com ele procura se tem o contêiner lá criado eu vou fazer o da o da Mata matou a gente lembra que antes era o D1 D7 então agora quando eu rodar novamente a gente vai ver que é um contêiner totalmente novinho ó um novo ID para ele mas na hora que
a gente for rodar aqui a nossa aplicação agora Eu não perdi mais os dados ou pelo menos não era para eu perder os dados né não na verdade eu perdi por um motivo eu perdi não os dados mas eu perdi o WordPress o WordPress também quando a gente desenvolve eu tenho que manter o os dados dele então vou criar um volume para ele aqui também porque o contêiner foi totalmente excluído né eu posso adicionar aqui uma pasta aqui no meu projeto barra WordPress que vai apontar lá pra pasta aonde o WordPress vai estar disponível Então
vamos fazer agora de novo meu banco de dados não morreu né os dados continuam presentes só o WordPress que zicou ah vamos fazer um um up vou forçar um D para ele excluir tudo fazer um up tá aqui os dados do WordPress agora eu consigo inclusive se eu editar um arquivo desse ele já vai tá acessível ele é sincronizado lá pro contêiner inclusive o banco de dados se eu não me engano ele fica no WP config né Eu acho que esse depois que a gente faz a configuração ali ele fica disponível aqui então vamos lá
de novo então aqui ã português do Brasil tá aí eu vou colocar aqui teste R Rot aqui vai ser mais sequ L reenviar muito bem ó ele Já identificou que tá instalado né Opa você já possui um anpr instalado então só ten que acessar ele não criou nada ó não perdi os dados Tive que criar o site novamente então é aquela lição que a gente tira contêiner é efêmero né se você tiver dados sensíveis Dados importantes você cria um volume para poder preservar os seus dados né quando você tiver um projeto do WordPress você vai
precisar desses arquivos aqui na verdade não se você fosse subir pro repositório Git você apenas se eu não me engano seria a pasta w WP content né Tem um tempo que eu não mexo com WordPress mas eu acho que somente essa pasta aqui as outr outros arquivos eles são gerados ali no momento que você faz a a iniciação mais uma vez mas a questão é que uma vez que eu tenho volume Eu não perdi mais esses dados eu posso destruir contêiner ele morre ele falha Acontece qualquer coisa com ele a gente não tem que ter
apego quando eu tava aprendendo o docker né ninguém me ensinou isso eu tinha um apego não queria matar o contêiner eu queria recuperar o contêiner que eu tinha exatamente por conta da questão do banco n se você tem que preservar dados simplesmente cria os volumes ó o Bruno Ferreira ali falou que a WB WP content e o WP admin pessoal ficou claro essa questão aqui de volume entenderam a ideia ficou Claro deixa eu ver o que que vocês estão falando aqui está ok então docker compose facilita a nossa execução de múltiplos contêiners Beleza agora vamos
para uma parte eh mais avançada aqui em relação à questão do Doc a gente viu ali como rodar ferramentas bancos de dados Como organizar isso E agora Como que eu consigo usufruir disso pro meu desenvolvimento né vamos supor que eu esteja utilizando aí um node JS eu vou desenvolver aqui uma aplicação eu quero acabar utilizando o docker no final das contas Tá então vamos supor deixa até parar esses contêiners aqui vamos criar uma pastinha assim ó meu projeto nodejs imagina que eu quero criar um novo projeto nodejs também com o DOC então eu posso criar
um docker comose e criar aqui um serviço de App posso ter banco de dados ou não isso aqui eu vou deixar não sei se eu vou utilizar e aqui eu posso utilizar uma imagem do node pra gente poder brincar como que eu vejo as imagens que eu tenho na minha máquina eu rodo o comando docker deixa eu abrir no terminal maior aqui que vai ficar melhor para vocês poderem ver docker image LS essa aqui são as imagens que estão na sua máquina tá ó ten imagem para vocês verem como que eu uso o Dock né
vai subindo e não acaba Dock é a minha principal ferramenta de trabalho tem muita imagem aqui a imagem eu não vou falar um palavrão uma imagem para Você sabem o que eu ia falar né ã eu vou fazer um docker image LS E aí eu posso pesquisar aqui a imagem node que eu tenho as imagens node eu tenho aqui a imagem node oficial tem um 20 lin Ó tem aqui Um 20 lin Deixa eu ver se eu tenho mais alguma outra é pode ser essa aqui mesmo então a gente vai usar aqui uma imagem node
20 Slim essa aqui é uma imagem baseada num Debian da vida então o vem ali com APT né com com esse tipo de coisa então é assim que a gente vai começar os nossos trabalhos né Mas vamos lá se eu rodar aqui um vou entrar na pasta meu projeto no GS e fazend um docker compose up se eu fizer um docker compose up o meu contêiner ele iniciou e morreu eu falei um Pou atrás agora vai fazer muito sentido e eu quero desenvolver uma aplicação node Então eu tenho que manter o contêiner aqui que tem
o node rodando essa imagem vai vir aqui ela vai executar nada ela na verdade vai criar o contêiner partir da imagem né para ficar bem claro vai morrer a gente tem que colocar alguma coisa que mantenha esse contêiner rodando então eu tenho aqui uma opção de Command isso que tudo você pode fazer lá com docker Run tá mas aqui eu vou passar um comando que eu tô querendo desenvolver não tô querendo rodar nada com o node igual a minha inteligência artificial tá querendo fazer aqui eu vou fazer um Tail - F bar Dev bar nul
esse aqui é um comando muito utilizado para poder manter contêiner de pé ele é um o comando Tail Ele lê arquivos então a gente tá lendo aqui de forma indefinida que esse os f o dispositivo nulo do Linux ou seja não tá lendo nada ele fica lendo indefinidamente leve e mantm o contêiner de pé se você quiser rodar com docker Run você faz um Dock Run node 20 traço slim e aqui você passa o ta F bar Seria a mesma coisa tá a gente já tá fazendo com o do compost para poder organizar o nosso
desenvolvimento tá então agora eu faço um docker comp up agora ele congelou meu terminal porque o contêiner continua rodando a gente consegue até ver ó PSX tá aqui o ta olha o ta deixa eu rodar de novo aqui que fica melhor ó o ta Men F tá ele vai ficar aí eternamente Até eu decid parar aí se eu quiser não bloquear meu terminal eu posso passar uma opção que também funciona no Run deixa ele parar aqui o meuer eu posso passar a opção menos d o menos D faz ele não ficar congelando o meu terminal
se eu fizer um docker compose PS para ver os contêiners estão rodando desse docker compos ele tá rodando aqui ó tá up então eu consigo rodar se eu quiser entrar no coner fica mais fácil docker compose eec app b então eu vou executar no o tô lá dentro do meu coner node tá então assim eu poderia iniciar meu desenvolvimento Mas vamos pensar assim a gente precisa de um diretório que a gente vai trabalhar para poder desenvolver a nossa aplicação né então tem a configuração work Gear Vamos colocar assim ó barra aqui dentro dessiner isso eu
já sei né Trabalho bastante com node se a gente fizer um Cat bar etc bar pswd ele vai mostrar todos os usuários disponíveis dentro do contêiner tem lá o root né que é o ID zero e vai ter o usuário node que é o usuário padrão 1000 que vai equivaler inclusive com o usuário da minha máquina né se eu fizer aqui na minha máquina o mesmo comando pswd eu vou ver que o arin que é o meu usuário é o 1000 tá então eu quero rodar exatamente nessa pasta aqui porque eu vou ter permissão vai
ser melhor colocar num lugar desse tem pessoas que gostam de colocar às vezes criar um barra app Ou coloca um usr pasta do usurio src app enfim tem várias formas eu prefiro sempre jogar na pasta home fica bem claro Aonde tá rodando então quero colocar o meu projeto aqui mas eu quero desenvolver na minha IDE e mandar para lá a gente já sabe fazer isso com volume né então eu coloco volume eu quero pegar tudo que eu tenho no meu diretório atual E lembrando que eu estou considerando o diretório atual como meu projeto e não
o diretório raiz da ide porque eu tô rodando os comandos sempre no meu projeto JS então quero pegar tudo que eu tenho aqui e mandar para bar home bar node bar Então esse volume vai fazer ele sincronizar tudo que eu tenho aqui pro contêiner e qualquer coisa que acontecer no contêiner também vai acabar indo pra minha máquina Beleza então e não tô rodando nada aqui vamos rodar de novo up men D mas ele demora um pouquinho para poder criar ó criou Então vamos ver docker compos eec app Bash agora como eu coloquei esse work dear
que é o diretório de trabalho eu logando no container ele já até joga a pasta que eu tô se eu fizer um LS ele já compartilhou o docker compose então se eu criar aqui um index JS vou fazer um LS aqui ele tá lá dentro do contêiner também ó se eu fizer aqui um console log Hello Word vou fazer um catch no index JS tá lá o meu Hello Word então agora como eu tenho o contêiner à disposição eu posso desenvolver Eu uso o contêiner para isso não uso minha máquina tô usando node dentro da
minha máquina eu tenho o node tem o npm que tá aqui também posso fazer um npm init Men Y PR poder gerar um docker compose ó acabei de gerar um docker compose tudo eu vou me pautar sempre de dentro do coner Tá show de bola show de bola eh então isso aqui já serviria pra gente poder eu posso começar a fazer assim ó npm instar o Express para poder instalar o Express e fazer alguma brincadeirinha olha crio aqui a node mods ó então tudo que eu tô fazendo dentro do contêiner vai V para cá eu
faço aqui vai para dentro do contêiner também mas tem uma forma eh mais e eh mais formal da gente fazer isso aqui vou parar isso aqui vou fazer um docker compose Stop tá E aqui na raiz do projeto a gente vai acabar criando um arquivo chamado de docker file tá provavelmente muitas pessoas já ouviram esse arquivo esse arquivo ele define como a nossa imagem vai ser montada como a gente vai criar uma nova imagem então é um arquivo que a gente escolhe o que que vai ter dentro dela mas sempre quando eu vou montar uma
nova imagem ela tem que ser baseada de alguma imagem já existente então eu quero criar uma nova imagem node que seja baseada no meu node 20 Slim eu quero pegar algumas coisas aqui desse docker compose e mandar para cá esse work de aqui também eu quero colocar aqui então eu tenho o work que vai ser barra home bar node barra app certo o volume eu vou deixar aqui essa informação vou pagar o comando também eu posso colocar aqui CMD ta Men F bar bar tá então o comando também eu não preciso só o volume mas
poxa que ele vai usar esse docker file aqui eu vou colocar build dois pontos ponto quando agora eu for rodar esse contêiner ele vai entender que eu estou querendo fazer o Build de uma imagem e ele vai procurar por padrão esse docker file eu poderia até nomear ele de outra forma eu teria que especificar para ele entender como que vai ser aqui então agora eu posso fazer um docker compose up a gente vai obter o mesmo resultado ó vou vamos logar aqui ó o mesmo comando e ele deu zica Que que aconteceu na verdade acho
que eu tenho que fazer o build aqui tem essa opção aqui para forçar O build vamos forçar O Build para ele gerar novamente olha aqui ele vai pegar o docker file identificou lá o workar e montar o contêiner pra gente Ah porque eu tô na pasta errada não tava certo é porque eu já tava achando outra coisa aqui ó vamos entrar aqui e eu tenho o mesmo resultado mas eh quando eu crio um docker file Fica muito melhor porque para desenvolvimento isso aqui estaria estaria seria suficiente pra gente poder e trabalhando e executando aqui node
index JS tal el poderia montar um exemplo do Express e etc mas quando eu tenho docker file eu consigo gerar uma nova versão da minha imagem e disponibilizar para outras pessoas consigo publicar lá no docker Hub eu consigo publicar num servidor que tenha lá o docker para poder rodar o meu contêiner a gente tem o comando docker Build E aí eu coloco assim ponto menos T minha imagem node então isso aqui vai fazer ele fazer o build da minha imagem como ele já tinha feito o build antes o doc era inteligente ele usa Cash para
acelerar esse build Porque dependendo da sua imagem pode ela pode ser bem complexa e isso demorar então agora se eu fizer um LS grap aqui minha imagem node só pra gente poder ser mais direta eu acabei de criar a minha imagem com a tag latest tem esse ID da Imagem e ela tem 245 Meg de armazenamento né então eu consigo agora se eu quiser rodar um contêiner baseado nessa imagem eu consigo fazer um docker Run minha imagem node que vai ficar bloqueado né porque a gente colocou o comando lá que fica bloqueando o contêiner isso
aqui não faria muito sentido mas eu posso pegar essa imagenzinha aqui Inclusive eu acho que eu não vou conseguir fazer parar o contêiner ali vou fazer aqui o docker PS docker Stop 85b deixa ele parar aqui aqui para ó parou beleza eu consigo fazer o comando docker Push no caso o nome da imagem tem que é is tipo quando você tá criando um repositório pro github eh você deve fazer assim ó eh docker build ponto menos T aí eu colocaria o meu nome lá da minha conta do dockerhub Argentina Luiz minha imagem node aí eu
faço um docker push Argentina Luiz não sei por que que ele tá identificando essa porta 5000 aqui toda hora aparece essa mensagenzinha eu estou enviando pra minha conta e ele me bloqueou porque eu não tenho eu provavelmente me deslogue aqui porque você faz um docker login com seu Us tem que gerar a senha lá no painel e não é demorado mas eu quero que só vocês entendam a ideia disso tá então eh Se eu quisesse distribuir essa imagem para produção né Tem esse Hello Word aqui vamos pegar um exemplo do WordPress na verdade pegar aqui
aqui um Hello Word que já tem aqui na página do Word preson tá aqui um exemplo aí no caso se eu quisesse rodar local né colocaria aqui um ports 3000 3.000 vou rodar na porta 3.000 porque aqui tá definido né aqui a porta 3.000 vou rar na 3.000 na minha máquina vai bater na 3.000 do contêiner eh beleza aí aqui eu tô rodando o container não tem nenhum contêiner rodando então docker compose up não fiz com menus D ali poderia ter feito agora vamos entrar no contêiner eu faço um node index JS tá lá minha
aplicação rodando na porta 3000 E aí eu faço aqui então local host na porta 3.000 ó só então aplicação com node aí ente rodando né Se eu quisesse distribuir para vocês poderem rodar aí meu docker file seria um pouquinho diferente então vou fazer assim ó dockerfile PP aí vamos copiar eu posso ter múltiplos docker files para propósitos diferentes esse aqui é para Dev poderia até colocar um Dev ali então vou duplicar isso aqui o comando que eu vou ter que eu vou ter que fazer alguns comandos na verdade né para poder imag n que eu
vou distribuir essa imagem totalmente para que outros possam executar eh eu preciso disponibilizar tudo dentro dela então eu tenho que fazer um copy isso aqui é um comando que tem um copy ponto ponto para poder copiar todos esses arquivos aqui para dentro da minha imagem a node mods eu não quero que ele use essa node mods então eu posso colocar assim ó ponto docker Ignore que é igual um Git Ignore e coloco aqui a node modos para sempre ele gerar lá dentro que é mais seguro então depois de copiar tudo eu faço um Run npm
install para ele poder fazer a instalação das dependências eu tenho que pensar no processo Como se eu tivesse instalando essa aplicação do zero e aí eu faço um Command node index JS tá Então olha a diferença de uma imagem para produção de uma imagem para Dev né então vamos ver se isso aqui vai dar certo ó vamos parar esse contêiner aqui agora vou fazer um build aí eu tenho que falar para ele aonde tá esse novo arquivo porque ele tá em um nome num padrão diferente e aqui eu posso passar test node por exemplo eh
na verdade que que eu errei aqui ah eu tenho que colocar ponto no final para ele poder buscar desse diretório então ele compilou rápido aqui o npm install também foi bem rápido vamos ver se a gente consegue rodar como que eu rodaria ela docker Run test node eu tenho que habilitar a aplicação na porta 3.000 na minha máquina 3.000 do contêiner e pronto ó exemplo do app rodando e tá aqui rodando Olha que legal isso né deixa eu fazer uma coisa aqui pessoal Deixa eu fazer isso escondido de vocês deixa eu pegar as minha senha
e só pra gente poder terminar esse exemplo vai ficar bacana para vocês poderem ver que é fácil colocar uma aplicação em produção eu tenho que fazer aqui o login eu não posso mostrar senão vocês vão ver minha senha aí eu estou lascado né não posso mostrar isso aqui account settings aí eu tenho que gerar Security gerar um novo Token gerou um novo token aqui aí agora eu vou fazer o login ó vocês não podem ver o meu token obviamente Deixa eu tirar isso daqui Dock login pronto Beleza agora vamos ver se eu consigo subir essa
imagem aqui ela não vai pausar aqui eu vou ter que fazer um SPS docker Stop a53 para poder parar esse conté que tá rodando vamos aguardar aí a boa paciência Deixa eu tomar água então agora a gente vai ter que fazer um build no formato para poder subir lá pro Dock Hub então Argentina Luiz barra test node Vamos colocar test node Express Ah beleza eu tenho que fazer o build Então dessa Nova Imagem ó fiz E é rápido né porque é ele armazena uma coisa chamada de layers então mesmo que você tá gerando uma imagem
com o mesmo nome ele vê que é o mesmo layer de uma outra imagem e ele reusa então ele é inteligente então agora vamos pegar aqui o nome deixa eu copiar o nome para não errar ã beleza docker aí eu passo o nome Ó agora ele vai subir e não subiu será o que que ele tá chiando comigo que eu já tô com Deixa eu fazer um docker logout aqui e depois fazer um login de novo ele tá me bloqueando por algum motivo o nome tá certo né ah não o nome que tá eu que
tô fazendo coisa errada aqui é porque o nome ali da minha imagem tá errado eu esqueci o nome Argentina tá errado aqui ó é Argentina é deix O pessoal já tinha sacado ali ó E eu achando que Mas de qualquer forma eu gerei uma nova credencial aqui para mim então é bom que ela dura mais um tempo Ahã aqui tá errado pera aí Aqui também tava errado ele vai subir então os 200 m ó agora sim tá subindo então ele tá disponível ele vai tá disponível lá no dockerhub a gente vai ver deixa eu inclusive
Deixa eu tirar a tela da minha senha aqui ó el tá terminando de subir Beleza então agora se eu for na minha conta do Dock Hub Eu tenho minha conta lá Dock Hub agora eu tô logado ó eu tenho aqui a minha imagem que acabou de subir então se você quiser baixar a minha imagem e testar na minha máquina é só fazer o mesmo comando ó eu não vou deixar ver minha senha não porque senão eu estou com vários problemas aqui né Eu não posso fazer isso não aqui ó o comando para você poder ver
a imagem é esse aí ó tag name No caso Você pode tirar esse tag name deixa eu até colocar ele certinho aqui só assim ó tá E aqui eu posso a imagem pública tá você pode colocar imagens privadas você tem aí a sua empresa e tudo mais aí Eh você tem outro tipo de administração Mas normalmente as imagens são a maioria das imagens São publicadas obviamente são públicas como no github também tá mas olha só que a gente vai conseguir então agora rodar essa aplicação em qualquer lugar a doc disponibiliza um lugar para você poder
brincar que Inclusive acho que eu tenho ele logado aqui no outro browser meu é uma ferramentinha chamada de play wif docker ó essa ferramentinha aqui ó achei que eu tava logado mas a gente loga tem problema ah não eu tô logado E é porque eu tenho que pegar esse browser aqui ó tô com tanta coisa aberta aqui que eu já não sei mais onde que eu tô aberto o play docker é uma ferramenta que a própria docker disponibiliza é eu tenho que tomar cuidado para não me hackearem aqui né porque senão eu fechar a Live
eu já tenho que resetar todas as minhas senhas aí esse play wif docker é uma ferramenta que a docker disponibiliza para você poder brincar com doc você tá aqui livre para poder fazer o que você quiser tá E ele cria uma sessão aí de 4 horas que você tem para poder criar várias instâncias aqui então por exemplo você pode criar uma Instância isso aqui inclusive é um contêiner docker a gente consegue rodar o docker dentro do docker eh você tem o docker à disposição aqui ó tem um docker à disposição então você pode criar várias
instâncias criar clusters aí com a ferramenta chamada de docker swarm fazer umas coisas bem legais mas olha só o que eu vou fazer aqui eh vamos pegar o comando que eu eh passei aí para vocês eh cadê eu tô aqui ó vamos pegar o comando e vamos copiar ele aqui que vai ser mais rápido então eu vou rodar Esse comando aqui mas só que eu vou rodar o Run né Eu copiei para vocês foi o push ou foi o copiei o comando errado agora que eu vi o push vocês vão não vão conseguir você tem
que fazer o DOC deixa eu escrever ele certinho aqui ó para você poder rodar vai ser o Dock Run aí você passa a porta depois né É o que eu vou fazer agora não esse comando aqui do docker push vocês não conseguem fazer nada porque você tem que est logado com a minha conta tá E na verdade você pode fazer o docker pull se você quiser só baixar como o Gustavo show falou ali ó e na verdade deixa eu fechar isso aqui para não confundir é aqui que eu tô aberto ó então vou fazer um
docker tem como dar um zoom aqui aqui Será Acho que não tem como dar um zoom não E pior que esse terminalzinho às vezes ele dá uma zica né porque é um terminal na web aqui que você tá conectando no se inclusive dá para você pegar o SSH ah na verdade dá para fazer isso aqui ó bem melhor e ele tá reconectando aqui posso chegar aqui na minha máquina e colar Esse comando aqui e aí eu logo lá que o terminal é bem melhor né bem melhor essar aqui do que lá então vamos pegar aqui
o comando que eu já copiei Esse comando 500 vezes então agora fica melhor para eu colar aqui eu vou trocar por Run Men P 3000 3000 certo e aqui o tagname eu tiro não o IP não vazou não tem problema IP aqui é vocês podem até conectar ali não tem problema nenhum depois eu mato essa máquina isso é aquele IP ali é é público aí tem problema nenhum ó ele vai rodar aqui e olha só agora no Play docker Olha que interessante que ele disponibiliza um endereço na internet para a gente poder ver a aplicação
ó então pera aí aqui vocês podem acessar o meu projeto bem simples mas com feito com imagem Dock você pode brincar aqui de disponibilizar você pode rodar um my KL eh o WordPress o Express e brincar de conectar esses projetos enfim é acessível para qualquer pessoa top isso aqui né então eu posso publicar aqui projetos com imagens eu posso publicar uma SQL para vocês poderem o mask não vai ser acessível via http né ele tá reconectando aqui ó então Eh quando a gente a gente viu ali os benefícios de trabalhar com docker para inclusive deixa
eu quem não acessou aí já perdeu que eu desconectei a máquina só para não vazar nada aqui né a gente tem o benefício de quando a gente tá rodando para desenvolvimento nós estamos criando um ambiente comum que todo mundo vai rodar com a mesma experiência evitando aquele negócio da minha na minha máquina funciona mas em produção a gente cria um contêiner já com tudo que precisa sem ficar rateando que precisa instalar não sei o que no servidor sua imagem já tem tudo que é necessário E aí vai ser muito mais barato para você poder rodar
isso aqui e escalonar nem se fala né porque você tá escalonando um contêiner você pode rodar múltiplas versões do contêiner dá para fazer isso com docker compose inclusive tá dei uma olhadinha na documentação você consegue escalar aí a sua eu poderia ter aqui quatro versões dessa aplicação rodando para poder atender as minhas solicitações e seriam apenas processos na minha máquina ou lá no servidor tá eh e para poder fechar aqui a aula pessoal Quero mostrar para vocês uma ferramenta que nos ajuda muito para desenvolvimento que é o Dev container tá Inclusive tem vídeo aqui no
canal é o Mateus osmarin falou ali o swarm é você pode pode Ativar o modo swarming no docker para poder gerar cluster aí dos seus contêiners e tudo mais a Microsoft criou essa extensão aqui pro vs code chamada de Dev containers que vai fazer a melhor Integração no vest Code com o docker para você poder ter uma experiência melhor para poder desenvolver as suas aplicações então vocês viram aqui que a todo momento que a gente tinha que desenvolver alguma coisa Ah vou lá vou rodar docker compose up n vamos rodar com menus D agora aí
eu faço aqui o e app Bash se eu quiser abrir um outro terminal e docker compose eec app Bash enfim Inclusive eu tô na pasta errada aqui né isso aqui pode eh vai se tornando também é não produtivo né e dependendo da linguagem de programação que você e estiver usando vamos supor que seja um Java da vida vamos supor que seja um Java da vida você tá rodando o seu contêiner com Java mas o vs code no momento ele não tem acesso ao Java que tá lá ele não vai ter acesso às libs elas estão
dentro do contêiner que o projeto que ele vai ficar livre ali das libs né enfim o seu vest code não tem acess a o Java você vai não vai ter um bom suporte as suas extensões Muitas delas precisam de ter acesso ao ambiente lá da sua linguagem de programação que tá rodando dentro do contêiner então isso era um problema então essa extensão é o Antônio marqu falando o csharp também é outras linguagens né Eh são dessa forma então o Dev container vai conectar o vs code no ambiente do contêiner você vai abrir a aplicação aqui
vai parecer que você tá na sua máquina Mas você tá dentro do contêiner desenvolvendo dentro dele e aí o céu é o limite porque as suas extensões têm total acesso a indexação do vest code vai ser melhor então você instala esse cara ó vamos brincar com ele aqui ó eh a gente vai rodar aqui o comando do vest code Open folding container aí ele vai perguntar qual que é a pasta base que eu quero desenvolver eu não quero desenvolver aqui na raiz né Eu quero desenvolver no meu projeto node que é o meu projeto nodejs
então dou ok aí aqui ele vai perguntar qual definição de imagem que você quer usar você quer usar pré-definições já existentes por exemplo Ah eu quero usar uma imagem Java ele já tem eu quero usar uma imagem rub também já tem quero usar uma imagem Python também já tem então essa aqui são imagens que a Microsoft preparou que são focadas para poder te dar umom bom ambiente para poder desenvolver não é imagem de produção ela já vai vir com terminal bacaninha lá dentro do contêiner várias ferramentas Git configurado essas coisas assim porque você vai estar
desenvolvendo totalmente dentro do contêiner então Eh muitas pessoas acabam escolhendo essas pré-definições aqui para não ter que definir eh dockerfile e outras coisas eu acabo definindo dockerfile e tudo mais porque eu tenho experiência e eu quero ter mais controle Mas enfim eh cada um define Como quiser então vamos voltar lá ó aí vou selecionar a pasta bonitinha aí ele vai perguntar aqui qual é a definição no caso eu quero usar o meu docker compose como definição que é o que eu já criei E aí ele dá disponibilidade de você adicionar ferramentas que vão adicionar uma
outra configuração de terminal dentro do seu contêiner alguma outra coisa que você precise aí você pesquisa aqui por exemplo eu posso colocar os o Shell né e posso marcar normalmente no meus projetos eu acabo marcando esse aqui esse common utils aqui E esse Shell History aí eu dou um ok Não quero configurar mais nada E aí ele vai reiniciar ó Ele criou uma pasta Dev contêiner dentro do meu projeto E aí ele vai reiniciar aqui agora o vs code rodando o docker automaticamente para mim e disponibilizando o projeto ele não conseguiu achar a minhaa a
minha pasta Onde tá o meu projeto vai ser bar home bar node bar app Então vou dar um enter novamente ó agora ele achou os arquivos e aqui eu não quero que ele crie esse workspaces Vamos dar um enter de novo Olha só pessoal eu estou aqui com o modo Dev coner ativo o meu projeto aqui lembra que aquelas outras partes lá dos volumes que a gente tinha criado mais a gente fou que o projeto é somente ISO aqui agora quando eu abri meu terminal ele deve ter dado um erro aqui porque a primeira vez
que iniciou ele tá abrindo ainda o terminal aqui como não deixa eu fazer um rebild aqui ele iniciar isso direito acontece TC aqui a gente vê tudo que ele tá fazendo ele vai instalando um monte de coisa no seu contêiner ali adaptando ele para poder desenvolver ele tá instalando algumas coisas dentro do contêiner ele interfere né ele faz certas incisões ali para você poder ter um ambiente bem bacana que ele demora um pouquinho porque eu fiz o rebuild né aquele rebuild que eu forcei ali ele vai e destruir o contêiner existente vai criar ele do
zero então ele demora um pouquinho mais a partir da segunda vez você não precisa fazer o rebuild inicia mais rápido e aqui obviamente depende um pouquinho aí da internet como eu tô fazendo o streaming rodando essas coisas aqui ele demora um pouco mas ele tá inst baixando várias coisinhas gastando aí mais de um minuto mas acho que ele tá agora ele tá pegando os isel acho que agora vai dar certinho quando a pasta tá disponível a gente já pode brincar ó estou com zel zel eh Na verdade o omiz Shell né o omiz Shell é
um terminal em em cima do bche coloridinho vai te dar aqui várias opções e para poder brincar mas o ponto que agora eu não tenho que fazer mais docker compose eec appb eu já estou dentro do contêiner o vs code abriu dentro do container você tem acesso ao node aqui normalmente nem parece que eu tô dentro do contêiner isso é maluco né se eu for num outro terminal para poder ver os contêiners rodando ó posso fazer um docker PS opa PS tá aqui o meu contêiner tá mas aqui no vest code nem parece que eu
tô rodando com docker totalmente isolado então qualquer extensão que eu instalar aqui ela vai enxergar para dentro do coner faz total diferença e aí você consegue ter Git aqui dentro a gente tem Git eu consigo fazer os meus comites no meu projeto de dentro do coner tem todo o suporte Inclusive a a extensão que tá aqui dentro que é essa partezinha aqui você consegue ter acesso ao contêiner que tá rodando informações sobre ele eh o volumes e outras coisas também que se for necessário você pode às vezes Ah eu quero fazer inspeção dele quero ver
os logs do contêiner enfim você tem todo o suporte aqui dá uma olhadinha num vídeo que eu tenho aqui no canal eu gravei ele tem três semanas para poder falar mesmo eu avancei eu eu mostrei do zero esse Dev container é uma aula se eu não me engano de 40 minutos Mas além desse benefício do Dev container a gente tem um outro benefício que é trabalhar com uma ferramenta chamada de github code spaces o github cod spaces é uma tecnologia do github que permite que você Rode esses contêiners remotos lá na máquina dos servidores da
github e você use até o browser para poder desenvolver tá isso aqui é muito legal isso aqui é muito legal eu posso pegar inclusive ó vamos fazer assim ó ã vou entrar aqui imersão 18 lives eh como é que é o nome do projeto Dock vou entrar aqui meu projeto nodejs vou criar aqui um repositório inclusive ess se eu vou criar na minha conta e por esse interface eu crio mais rápido V Colocar assim ó test docker Express tal beleza Ah tem que fazer um Git nit só que eu tenho que adicionar um Git ignor
aqui porque senão vai algumas coisas que não deviam aqui pera aí colocar um Git menor eu não quero adicionar a node mods e tem uma pasta que ele vai criar aqui que é uma History que é uma extensão que eu tenho que vai fazendo uma versionamento dos arquivos locais Eh aí o Dev container tem que ficar esse github aqui que ele cria ele tem criado pode excluir Beleza então eu posso fazer um Git pon Git commit Men M first commit E aí agora eu vou criar o repositório repositório público e eu faço um push para
lá beleza então olha só o que vai acontecer aqui agora eu vou atualizar o meu code spaces você tem eh um teste grátis para você poder fazer aí eu quero eh gerar um New code spaces baseado no repositório que eu acabei de subir esse aqui ó aí eu posso ele Já identificou o Dev container que eu coloquei que o Dev container vai rodar lá nos servidores da github posso escolher a região que eu vou rodar isso aqui e o quanto de recurso que eu quero na minha máquina você pode colocar uma máquina super top aí
com 32 GB de memória cpus e tudo mais enfim e aí tem outros planos né você tem que adicionar o seu cartão de crédito mas aqui para testar já tá bom demais ó então eu tô criando esse code spaces ele vai abrir o vs code para mim vai conectar nos servidores do Ki Hub eu vou conseguir desenvolver essa mesma aplicação que tá na minha máquina mas no Browser Você tem noção que maluqui é essa ele tá fazendo aqui as configurações vamos aguardar ó aí acho acredito que vai ser mais rápido né porque se for baixar
qualquer coisa o servidor lá do github mais rápido primeira vez que ele tá fazendo o setup né aí um pouquinho mais demorado mas as segundas vezes terceiras e tudo mais ele vai aade eu falei que ele vai ser menos rápido depois ele vai acabar sendo mais rápido né ele tá fazendo várias Configurações agora o zel acho que ele tá perto de terminar Vinícius Santana perguntou deve cont seria mais indicado para projetos em Java e csharp qualquer tipo de projeto que você quiser não importa tá Não é questão de ser muito demor porque depende das eu
coloquei ali o z Shell E aí é a primeira vez que ele tá rodando né o que eu falei depois que ele habilita se você for abrir a segunda vez é mais rápido olha só Ten o projeto aqui para poder desenvolver e obviamente isso depende da minha internet aqui também como eu tô fazendo streaming a minha internet e é mais ou menos então ele tá demorando um pouquinho para abrir ó Então eu tenho meu projeto eu posso abrir um terminal Olha que eu tô no Browser eu estou no desenvolvendo no Browser eu não preciso nem
de instalar docker na minha máquina né ele vai abrir aqui para mim vamos aguardar a paciência da minha internet porque isso aqui é a minha internet não é o Dev container agora aqui tá tá aqui ó eu estou totalmente online posso desenvolver aqui fazer os meus comandos e tudo mais e aí quando eu quiser fazer o commit eu já comito vai lá pro repositório então eu posso estar numa máquina totalmente nova esse Dev container aqui eu consigo colocar configurações Ah tem que instalar determinadas extensões e tal você pode estar numa máquina completamente nova e desenvolver
o seu projeto muitas empresas TM disponibilizado esse ambiente aqui pros seus desenvolvedores para que eles não precisem ficar configurando nada na máquina muitas vezes dependendo do projeto você consegue desenvolver ele totalmente aqui no Browser né totalmente eu consigo rodar aqui um node index JS É porque a minha internet que tá lenta aqui ó eu vou conseguir rodar ver esse resultado aqui diretamente ó ele deu o resultado aqui que eu não tenho Express ó vou fazer o npm install é e e é o que o Vinícius ele tá falando imagina que você não tem uma máquina
muito boa você pode usar o browser aí você vai ter que só ter uma internet mas eu vou mostrar uma outra opção também que dá para fazer tá ó node index JS consegui rodar aqui e o Dev container ele consegue rodar um servidor que você consegue testar a sua aplicação online também ele cria uma ponte local aí que você consegue rodar continuar rodando aqui o local hoje na pota 3000 enfim mas o que que acontece eh eu não gosto muito de trabalhar dessa forma aqui no Browser eu prefiro me conectar no Code spaces pelo meu
vs code então você pode chegar aqui ó e mudar o seu contexto para code spaces ele vai identificar que eu tô com uma máquina rodando então eu vou conectar aí ele vai sair do meu Dev container local que tá rodando com docer que eu tô rodando na minha máquina e vai conectar lá no que tá rodando já aí tá vendo como é que foi mais rápido ó ele já tá já abriu aqui ó já tá só carregando os arquivos você pode apenas usar o vs code para poder conectar lá no servidor pronto então quando eu
tô abrindo aqui um terminal agora ou fazendo qualquer coisa eu não estou fazendo na minha máquina eu estou fazendo lá no servidor do COD Space tudo isso é doc tudo isso a gente consegue com doc com contêiners né mas é doc no final das contas demorando um pouquinho a minha internet também não tá muito legal Vamos terminal agiliza para nós quando você precisa andar rápido né Não não precisa usar S sh tá eh o vs cod faz todo o processo aí de fazer a conexão mas é rápido É porque qu eu tô eh transferindo aqui
full HD e a minha internet é mais ou menos Então vamos tentar abrir mais um aqui ver se ele acorda ela igual na Maria Braga né acorda menino para ver se vai ó que agora que ele tá aparecendo o iconeinstagram bom pessoal enfim e era isso que eu tinha para mostrar para vocês né a gente fez uma live de Ah Agora abriu que eu comecei a falar então consigo rodar aqui ó node index JS com a paciência da minha internet aí ó aí você pode habilitar ele você pode habilitar a porta local enfim ah debug
é fácil uma vez que você tá com code spaces Não interessa se é dessa forma ou rodando com o Dev container local o suporte a debug é completo tá não precisa fazer nada se você rodasse daquela forma anterior que você roda ali o vs code não tá conectado no contêiner aí você tem que fazer várias coisas pro debug funcionar estando aqui dentro do ambiente do contêiner você vai fazer debug com JavaScript com Java com python com não interessa tá você tem suporte a qualquer tipo de debug beleza pessoal vocês TM algum mais alguma dúvida né
a gente fez quase 3 horas de Live aí e a gente ainda tem 348 pessoas estão impressionado tá de chegar a 3 horas de Live e ter esse tanto de gente aqui ainda Já são quase 10 horas da noite tá eu quis estender essa a presentação para poder dar esse overview completo então A ideia é passar a esses conceitos de contêiner você entender que contêiner é apenas um processo ele é muito mais leve que virtualização e que a gente vai ter benefícios muito grandes para desenvolver e também para jogar essas aplicações em produção Então hoje
grande parte das aplicações de grande porte aplicações de grandes empresas eh usam contêiners eh e a gente tem esses suportes a subir esses contêiners aí nas grandes clouds você vai conseguir subir isso eh na WS lá na Amazon na aure da Microsoft no Google Cloud consegue subir isso no roco enfim tem V essas principais clouds todas T suporte adoc digital Ocean também Inclusive a gente usa aqui para hospedar as coisas da full pych só que a gente hospeda num cara chamado kubernetes você pode dar uma olhada aí também que é é um orquestrador de containers
mas a ideia é que a gente aprenda docker e use Dock lembra que eu falei lá no começo tem gente que entrou aqui no final da aula mas no final falei lá no começo das primeiras frases que eu falei eh docker tem que ser algo que você vai usar no seu dia a dia então você vai pegar o seu projeto aí com node com Java seja enfim interessa seja com react com next JS você vai começar a usar Dock né e obviamente eh vai ser um pouco difícil para você poder se acostumar vai acontecendo erros
mas você vai aprendendo nesse processo né e o primeiro benefício que a gente tem para desenvolver é unificar o nosso amb você o seu colega de trabalho todo mundo da sua empresa vai estar rodando o contêiner da mesma forma com os mesmos problemas então acaba ou vamos falar assim não não necessariamente acaba mas minimiza aquelas questões de na minha máquina funciona e também a gente acaba eh não tendo ficar rateando mais para poder instalar tudo tudo já vai lá tá dentro do contêiner além da gente isolar as coisas da nossa máquina Quantas vezes você não
fica com medo né você precisa instalar na sua máquina o PHP o redis o MySQL E aí você tá usando o Linux principalmente para poder aprender e aí você acaba zic a sua máquina você fez alguma coisa errada ali e aí você tem que formatar tudo dá maior dor de cabeça isso é normal porque quando a gente tá configurando essas coisas na nossa máquina para poder criar o nosso ambiente a gente erra é normal até pessoas muito experientes vão errar E aí depois você não consegue retroceder uma vez que eu tenho um contêiner você pode
fazer coisa à vontade errada no seu contêiner e tal ah fiz qualquer coisa que o contêiner não tá executando não tô conseguindo fazer nada mata o contêiner inicia um do zero inicia Quantas vezes você perde o medo de errar né então você livra o seu desenvolvimento da sua máquina você vai jogar tudo pro docker você formatou a sua máquina é só você colocar o docker você vai conseguir executar todas as suas aplicações o seu mais Kelo a sua aplicação preferida e acabou não tem que ficar instalando nada você vai instalar só as ferramentas aí que
você usa eh básicas pro seu trabalho claro que muitas vezes a gente acaba instalando alguma linguagem outra ali mas o seu principal ambiente acaba se tornando Dock quando a gente usa para produção a gente tem esse benefício de já ter todo o o a imagem montada já preparada para ir para produção então é fácil para poder jogar isso em qualquer lugar eu não fico preso a nenhum servidor eu consigo escalar isso fácil também porque é muito legal de você rodar múltiplos contêiners para poder escalar processamentos atender mais solicitações isso vai se tornar mais barato também
e é o que o mundo tem no momento é containers a gente tem que aprender esse negócio as empresas pedem cada vez mais e nós somos uma das principais escolas aqui no Brasil que tem conteúdo de Doc Aproveite a gente tem aqui eh lives e vídeos e mais vídeos pesquisa docker aí Dev container a gente tem conteúdo abessa só isso aí você já vai eh aprender o básico a gente tem eh várias lives de docker dessas básicas que a gente sempre tem uma abordagem diferente ensina algumas coisas tem Live que eu já fiz que eu
ensinei como que sobe eh uma imagem lá pro pra Google como que você disponibiliza o endereço lá para valer como você monta um processo de Ci dá uma olhada aí a gente tem conteúdo eh até falar chega e docker né vai ser essa tecnologia que a gente vai usar no nosso estudo de caso para poder organizar as nossas múltiplas aplicações para criar essa plataforma de ingressos E é assim que as empresas fazem as empresas de grande porte que tem grandes aplicações vão trabalhar com Dock para poder organizar tudo isso então é por isso que a
gente quer mostrar esse conteúdo para você é um canal aqui que a gente não quer mostrar coisas básicas a gente quer Eh fazer uma trilha para que você saiba o que que é preciso ter para ser um profissional que trabalha nessas grandes empresas que lida com aplicações de gente grande Tá então pessoal eh se alguém tiver mais alguma dúvida pode mandar aí Lembrando que a gente está apenas É no Esquenta né da nossa imersão a imersão começa na semana que vem então não deixe de se inscrever imersão py.com.br um detalhe importante que na imersão da
semana que vem nós vamos ter premios nós vamos colocar desafios cares codes e tudo mais você vai poder pontuar vai ter um rank ali os melhores do ranking vão ter e vão a gente vai criar um ranking da não sei de quantos melhores Mas vai ter cadeira Gamer vai ter Kindle livro do Clean code e não sei se Clean architecture tem também tem Alexa enfim tem vários prêmios se você cumprir os desafios inclusive desafios técnicos para que você possa solidificar O que é passado aqui então na semana que vem a gente vai desenvolver Esse estudo
de caso vão ter lives com grandes referências aí do mercado de tecnologia eh vai ter grupo no discord para você poder entrar com a nossa comunidade aí conversar com o pessoal se ajudar e etc tem um monte de coisa acontecendo não deixa de se inscrever aí é bem fácil coloque o seu e-mail lá e você não vai perder nada do que vai acontecer na semana que vem né muita coisa não é só a plataforma de ingressos que a gente vai ter beleza Lembrando que todas as lives ficam disponíveis no canal então a gente não vai
tirar se você não conseguiu ver essa Live eu tenho certeza que algumas pessoas foram dormir né não aguentaram você pode ver essa Live depois então Fica tranquila quanto a isso espero que você dê o like né a gente conta com isso eu falei que era o seu dever o seu único dever aqui nessa Live Era contribuir com like para que a nossa Live se expanda aí para mais pessoas tá eh deixa eu ver o que que eu tenho mais para falar para vocês a gente vai fazer Live até sexta-feira todo dia às 19 horas amanhã
eu vou fazer uma live sobre nestjs que é uma das tecnologias que nós vamos usar para poder desenvolver essa plataforma de ingressos Então fique ligado que vai ser codificação basicamente o tempo inteiro ali e a gente vai acabar usando docker também para poder organizar o nosso ambiente tá então esse nest vai ser uma API que a gente vai usar ali para poder processar esses ingressos e tudo mais amanhã a gente fala mais sobre isso e na quinta e na sexir também vou ser eu vou deixar aqui também os meus contatos se você gostou da Live
quer entrar em contato quer falar qualquer coisa estou à disposição @ argentinalove coner ou vários contêiners dentro de ambiente Ah o gimar França fez uma boa pergunta ó Isso depende muito tá eh existe uma recomendação uma boa prática vamos dizer assim a ideia é que a gente coloque eh uma aplicação por contêiner porque contêiner é algo muito leve porque eh aí você consegue controlar muito bem o que que tá sendo executado ali no naquele contêiner e dimensionar os recursos que aquele contêiner vai executar aqui a gente a gente não precisou limitar CPU nem nada mas
normalmente eh eles vão rodar no ambiente limitado então por exemplo imagina numa imagem que você coloca o seu projeto o seu código fonte e o mycell então é muito complicado porque eles vão eh disputar recursos e às vezes o mycell pode acontecer algum problema que pode afetar a sua aplicação então tente-se a ser uma aplicação por contêiner para você poder dimensionar e controlar isso melor mhor beleza Ah Daniel mota e para ser mais mais é normal usar docker porque c+ mais tem muito problema com bibliotecas fazer build Sem problema nenhum você pode usar o c+
mais para poder desenvolver agora o caso de de linguagem compilada como o c+ mais eh na verdade deixa eu compartilhar aqui a sua dúvida você mais mais tem uma questão porque por exemplo para você poder fazer um build e é para outros sistemas operacionais eu tô desatualizado se eu tiver falando errado alguém que tiver trabalhando com você mais mais aí pode falar você vai ter que ir lá no sistema operacional para poder fazer o build ali para ele gerar o código de máquina não sei como é que tá hoje mas por exemplo se tá rodando
um contêiner ali no Linux você vai conseguir fazer o Build para Linux se você quisesse fazer o Build para Windows você teria que ir lá no Windows Mas não tem problema nenhum você pode eh rodar aí o c+ mais com Dock sem problemas eh Marcelo Ribeiro perguntou não entendi como fica o docker file e o docker comp quando tem mais de uma imagem no projeto por exemplo mas Kelly WordPress não sei se eu entendi exatamente a sua dúvida mas vamos lá deixa eu compartilhar aqui de novo a minha janela aqui acho que é esse aqui
de eu voltar aqui pro teste eu quero wsl aqui questão quando você tem o docker compose eh você escolhe se você vai usar por algumas questões bem específicas você pode usar ao mesmo tempo o build e o image Mas normalmente você vai usar um um ou outro então você vai acabar escolhendo no seu service se você vai usar Às vezes você não precisa criar uma imagem nova e eh ter configurações específicas um caso para isso seria o próprio banco de dados aqui pro caso do myk eu não tenho nenhum motivo específico para poder criar um
docker file né Por exemplo fazer isso aqui docker file myc por exemplo aí eu faço aqui my 2 p 8030 traço Se eu quisesse por algum motivo mudar alguma coisa na imagem pro contêiner subir com aquelas configurações algumas coisas bem específicas aí eu poderia mudar aqui de image para build né mas aí você tem que escolher Às vezes você usa a imagem direto às vezes você cria um Dock F para poder fazer alguma questão específica seria isso sei se eu respondi sua dúvida O que mais zabix no docker eu nunca rodei mas deixa eu ver
se tem disponível aqui tem disponível tem disponível consegue rodar sim nunca fiz execução mas tem eh pessoal falando tive que rodar versão do banco de dados oraco 19c no Ubunto bu não tem suporte nativo não entendo muito de Doc mas pesquisando um pouco consegui rodar em um contêiner doc isso aí eh o Flávio fez uma boa pergunta aqui VPS de hospedagem sabe dizer se um contêiner é disponibilizado então aí é uma boa pergunta pel o seguinte porque quando você tá adquirindo uma VPS é aquilo que a gente tava falando lá atrás você tá adquirindo uma
máquina virtual uma máquina né e essa máquina ela pode vir com o docker ou não mas muitas vezes ela vai acabar não vindo Então você tem que acabar instalando o docker fazendo algumas configurações para e poder rodar o seu projeto ali e disponibilizar ele paraa web também e Tem empresas que fazem isso né utilizam inclusive o docker você pode dar uma olhadinha no docker swarm tem algumas empresas que utilizam docker swarm para poder hospedar suas aplicações mas acaba que essas dores de operar o contêiner e tudo mais em produção Eh você precisa de um cuidado
saber o que tá acontecendo ali preservar os seus volumes para você não perder dados né não é muito comum utilizar banco de dados em produção com container Mas acontece de utilizar eh isso aqui pode se tornar muito improdutivo principalmente se você não tem experiência o que a gente acaba fazendo é pegando eh serviços de contêiner gerenciados você vai ver que a heroku tem eh não lembro o nome exatamente da heroku mas por exemplo a WS tem o serviço de SCS a da o Google Cloud tem o cloud Run eh a azure tem o container acho
que chama container Services enfim várias outras clouds também tem a d otion também tem o serviço dela de contêiner lá também não lembro o nome você é apenas eh só quer subir a sua imagem lá você não tem preocupação em instalar o Dock você não aluga uma VPS você só cria uma Instância do contê da sua aplicação entendeu Então você só tem o dever de gerar sua imagem e mandar para el tem preocupação nenhuma diferente de as VPS aqui que é você que gerencia é muito mais fácil a gente alugar esse serviço gerenciado o Marcos
Antônio perguntou se é possível subir o projeto con terizado direto como um contêiner na verdade você sempre eh você cria uma imagem com tudo que você precisa E aí o contêiner lá no ambiente vai ser iniciado a partir dessa imagem o contêiner ele é apenas o processo que tá rodando a partir da imagem entendeu então tudo tudo que você precisa você faz o build ali coloca na imagem todas as ferramentas e tal e o contêiner vai iniciar o Amir Rogério perguntou por que o docker está no perfil de desenvolvedor e não de infra Ele tem
muito a ver obviamente com infra porque toda essa questão de implantar aplicações mas hoje Como as empresas elas pedem profissionais que tem uma visão mais porque imagina só eh no mínimo para você poder desenvolver bem os seus projetos hoje você tem que saber docker para desenvolvimento né pelo menos E como que você vai chegar na sua máquina e rodar a doc entender os contêiners conectar as coisas você ter que ter um conhecimento mínimo de Doc Pode ser que você trabalha na empresa ela tem a parte pessoal especializado infra que tem mais um conhecimento apurado do
docker e tudo mais mas você como deve você precisa também ter esse conhecimento básico de dock senão você não vai conseguir usar essa ferramenta e Usufruir desses benefícios de contêiner lembre-se cada vez mais o mercado pede profissional diverso que tem uma visão Geral do todo eh não que você tem que ser esp você é um desenvolvedor que você tem que ser especialista em Como implantar aplicações mas você precisa ter noções de como funciona o Cia do que é o devops de ferramentas de c de ferramentas de Deploy contínuo como entregar isso de uma forma melhor
eh o Daniel Augusto perguntou sobre questões de estratégia de Cash com build eh Daniel você pode entrar em contato comigo e se você não quiser entrar em contato tem conteúdo no canal sobre isso tá na verdade existem várias estratégias de cche de otimização da imagem para você poder utilizar esses caches fazer o build mais rápido e tornar sua imagem mais segura eh tornar a imagem menor também quanto menor sua imagem melhor vai ser para você poder fazer o Deploy e tudo mais [Música] Ahã Marcelo Ribeiro perguntou o docker no Linux consegue rodar imagem de qualquer
Distribuição e no Windows consegue rodar de outras versões eh isso depende tá eh você não consegue rodar todas as distribuições mas a maioria delas sim por isso que você vai encontrar às vezes versões específicas eh uma versão da imagem ali que é focada no Arm da vida e tal aí você vai usar essa versão específica para poder fazer alguma coisa então não é 100% compatível no caso do Windows você consegue sim fazer a execução desses contêiners Lembrando que você tá usando a base do Windows que você tem então não é 100% compatível também mas no
caso de Windows 10 e 11 sim são compatíveis porque eles utilizam a mesma base eh o Vinícius Santana perguntou quais serviços eu indico para poder subir eh aplicação profissional esses serviços aqui roco aws Google Cloud erg digital Ocean se você quiser e eh serviços mais baratos Você pode procurar aí uma digital Ocean e tem tantas tem linode eh enfim Tem tantas aí que todas essas aqui suportam muito bem hoje a full cycle utiliza digital otion a gente tem toda a nossa infraestrutura com kubernetes né a gente utiliza kubernetes porque a gente tem aranhado de aplicações
algumas coisas educacionais nota fiscal financeiro marketing e outras coisas assim então a gente tem um cluster kubernetes que a gente coloca todos os containers docker lá dentro kubernetes também é eu não quero ficar falando muito aqui mas tem conteúdo aí no canal Mas qualquer um desses aqui suportam muito bem que mais que mais que mais que mais que mais valeu pessoal pelas perguntas pessoal agradecendo aqui para escalar o Vinícius Santana perguntou ó todas esses caras aqui vão conseguir escalar você vai configurar assim ó subi lá minha imagem node quando tiver utilizando 70% de CPU pegando
a métrica aqui escala aí você pode colocar uma faixa de três a sete containers E aí vai ter um load balancer na frente é configurado e tal esses serviços todos aqui eles escalam muito bem tá então todos esses você pode usar que mais que mais o Antônio Marcos falou que a pergunta foi mal não tranquilo Antônio tranquilo não sei se foi isso deixa eu ver quis dizer que pera aí deixa eu ver eu quis dizer que se já há um Cloud provider onde basta subir a minha imagem para rodar a aplicação imagina um desenvolvedor com
negócio pessoal entendi é o Adriano fala entrou aqui numa is só que é uma polêmica né Eh em produção O banco é em doc em desenvolvimento e eu acredito que num futuro não tão distante a gente que Rode eh tende a rodar bancos aí quase que sempre em contêiner mas por enquanto não é a realidade porque o gerenciamento dos dados do banco e outras coisas eh não é tão eficiente assim então tem empresas que rodam mas a maioria das empresas não utilizam banco em contêiner Tá mas é perfeitamente possível hoje com todas as tecnologias mas
aí precisa de um profissional que saiba o que tá fazendo ali docker pesa mais é isso aqui é é é um pouco Óbvio eh eh Obviamente você usar o docker ao invés de rodar nativo aqui o node ao invés de rodar o nativo mais Kell óbvio que vai eh ter um lag porque você tem uma tecnologia ali de contêiner que vai fazer esse isolamento você tá gastando mais recursos sim mas essa eh eh esse pesa não é nem pesa é uma diferença que nem faz diferença o benefício é tão grande né porque no final das
contas o contêiner é apenas o processo isolado n você não tem virtualização ali obviamente para poder fazer determinadas conversões quando os contêiners vão se comunicar Às vezes tem que fazer algumas transformações de rede algumas coisas assim eh você tem alguns milisegundos a mais ali mas é muito rápido tá então eh nesse ponto aí eh não precisa se preocupar e essa é uma preocupação que eu tinha quando eu comecei a mexer com Dock lá em 2016 ah mas esse negócio aqui vai acabar eh trazendo mais problemas e tudo mais mas tipo assim isso aí e eh
é apenas impressão que a gente pode ter né você fica ali fazendo uma comparação mas não beleza pessoal eh qual tipo de Network é usado para produção em doc ah Boa pergunta você pode dar dá uma olhada normalmente em produção a gente utiliza as Networks do tipo host porque as Networks do tipo host elas não são eh controladas e e o docker não adiciona uma camada a mais que a as essas redes padrões igual a gente usou ali para trás é o modo brid então o Dock Adiciona uma camada então Eh esse modo Breed ele
pode fazer com que a comunicação fique um pouco mais lenta host ele usa a interface nativa da própria máquina então se eu se eu habilitar Na verdade lá atrás você pode fazer o teste se eu habilitar o o Network host aqui eu não precisaria pegar o nome do contêiner mais mas o local host funcionaria mas enfim é doc é muita coisa para poder trabalhar né Mas normalmente se usa host que é mais rápido tá Ah beleza pessoal a gente já passou aqui 3:10 tá respondi muitas dúvidas aí de vocês meus canais aí já estão disponíveis
vocês podem entrar em contato comigo eh espero que vocês deem um like aí na Live continue acompanhando essa semana porque a gente tem muita tecnologia para ver aí que vocês vão curtir o que a gente vai usar para poder desenvolver essa plataforma de ingresso se eu não terminar a Live aqui daqui a pouco minha esposa vai eh soltar o camam errar em mim e depois essa semana não vou conseguir nem trabalhar né el Imagino que na hora que eu terminar aqui ela vai me xingar bastante aí porque Eu estendi a Live mais mas a gente
tá fazendo aqui porque eu curto bastante show de bola então bom descanso para vocês amanhã 19 horas estou aí novamente Não esqueça de seguir o canal e curtir o vídeo e é isso aí pessoal tchau
Copyright © 2024. Made with ♥ in London by YTScribe.com