Fala aí pessoal beleza seja bem-vindo seja bem-vinda a mais essa nossa Live a nossa encontro aqui semanal Hoje a gente vai falar sobre um assunto muito importante e que muita gente ainda tem dúvida quando está começando a trabalhar com docker dá os seus primeiros passos endócrino até quem já utiliza doc no dia a dia tem dificuldade de entender como funciona Network no docker e hoje a gente vai desmistificar que esse assunto eu vou falar com você sobre docker Network e a gente vai ver aqui na prática como fazer o uso dos principais recursos de rede
com docker então depois dessa aula aqui cara redes e docker não vai ser mais um mistério beleza e se você não me conhece muito prazer eu sou Fabrício Veronese eu tô aqui para ajudar você a entender mais sobre esse mundo de Cláudio de Devotos então se você quer saber mais sobre os principais clássicos prováveis no mercado se você quer saber sobre docker coobernet sobre pipeline iniciais já se inscreve no canal aciona o Sininho para você não perder porque toda semana tem conteúdo como esse aqui certo bom galera eu já vou antecipar aqui uma coisa que
para tirar aqui Alguns podem acontecer alguns problemas nessa Live aqui beleza porque quem tá assistindo aí ao vivo né viu que eu me atrasei um pouquinho para entrar isso não é muito comum né se você tá assistindo aí gravado normalmente 8 horas cravado é eu entro aqui para a gente ter essa aula mas o que que acontece minha máquina principal ela deu pau 10 minutos antes da Live entrar no ar então todo o meu ambiente estava montado nele né na minha máquina e deu problema aqui que eu vou ter que ver depois e para gente
não adiar essa aula aqui porque eu tenho compromisso de toda semana tá aqui com você cara a gente está utilizando aqui uma máquina que não é a minha máquina principal não tem todo o meu ambiente então eu vou mostrar para você como trabalhar com docker mas eu vou mostrar aqui diferente eu não vou mostrar na minha máquina local porque porque a gente vai utilizar deixa eu apresentar aqui deixa eu compartilhar a minha tela a gente vai é utilizar um serviço da Digital Ocean aqui tá a minha anotação porque também nem o PowerPoint eu vou ter
aqui para te mostrar a gente vai utilizar aqui a digitaltion criei aqui uma máquina virtual né na digital ocea você poderia fazer na WS você poderia fazer no Agile você pode fazer na sua máquina local também o que a gente vai fazer hoje mas como eu não tenho dó que aqui não tenho praticamente nada só tem esse code aqui na máquina a gente vai utilizar o Ubuntu aqui uma máquina virtual rodando na distinta oxa Então eu tenho aqui o terminal aberto né deixa eu abrir aqui o terminal e a gente vai trabalhar dessa forma eu
vou Opa Deixa eu botar aqui a beleza é a gente vai trabalhar aqui dessa forma então primeira coisa que eu vou fazer é acessar via SSH máquina certo botar aqui a gente vai acessar aqui a máquina e a gente vai trabalhar nesse ambiente aqui deixa até ver se tem um vinho aqui instalado deixa eu ver aqui tem Beleza então a gente vai trabalhar dessa forma para não adiar a gente não ter aí que remarcar essa Live vamos fazer dessa forma aqui para a gente manter o compromisso de aulas semanais Beleza então pode ser que tem
alguns problemas aqui vamos ver o que que vai certo bom é primeira coisa que a gente vai falar aqui é sobre o uso de rede rede a gente sabe que é utilizado para você conectar as máquinas em um determinado ambiente eu tenho minhas redes virtuais quando a gente fala sobre nuvem a gente tem vpc submete e quando a gente trabalha com docker eu também posso trabalhar com rede não docker eu tenho ali uma estrutura própria que o docker monta ali para fazer conectividade de rede porque normalmente quando eu trabalho com containers eu tô executando na
minha aplicação no ambiente isolado e eu só vou conectar os meus containers entre si caso eu queira a gente vai ver que não é bem assim né A gente vai ver que existe uma conectividade entre os contêineres Sim mas de uma forma geral só vou conectar os contêineres caso eu queira né porque estão rodando ali em ambiente isolados então então eu quero te mostrar justamente isso como fazer essa conectividade entre os containers Mas vamos entender aqui uma coisa antes né Deixa eu ver aqui no meu desenho como é que funciona a estrutura geral né os
componentes gerais do Doc eu tenho o primeiro componente o principal aqui é o docker demo certo é o processo que vai vai gerenciar todos os objetos do docker né o docker daemon ou docker demo você quiser chamar esse cara esse cara vai ter ali a execução aí que vai gerenciar as minhas imagens de container e que vai gerenciar os containers certo aí que vai gerenciar também os volumes né volumes e vai gerenciar também as minhas Networks certo ele vai gerenciar todos os elementos todos os objetos do docker eu tenho também né o meu camarada que
docker Clint tá deixa eu ver aqui eu tenho Opa veio aqui é um pouquinho para cá eu tenho também o docker Clint beleza então aqui no caso eu vou ver aqui certo e vou ter no meu docker Clint ele vai ser responsável por fazer toda a interação né Toda a comunicação com o docker demo então quando eu tô executando lá o meu comando docker container Run esse cara ele é o docker clight tá interagindo ali com o docker demo certo o docker é com tnls mesma coisa certo esse cara vai ter ali o mesmo a
mesma função ele vai se comunicar ali docker clight com o docker demo certo e eu também posso utilizar pi para me comunicar com um docker de irmão mas eu sempre vou ter aqui o docker normalmente né você tem aqui o docker o docker de mão na mesma máquina né estão no mesmo host na minha mesma máquina Hospedeira por isso que a gente normalmente não enxerga esses dois componentes como algo separado a gente começa a gente vê como se fosse algo único mas eu tenho esses dois elementos separados e eu tenho também o meu docker registo
né O cara que vai ter ali a responsabilidade de hospedar as minhas imagens em um repositório certo é como se fosse aí um repositório na verdade ele é um repositório de imagens é como se fosse ali o github para o Git para imagens de containers E aí eu tenho um docker Hub como principal serviço de docker resto tenho serviço como se fosse o github certo Esses são os elementos quando a gente fala em execução de container Networks basicamente eu tô falando aqui do que é executado dentro do docker junto com os volumes e eu tenho
alguns tipos diferentes de redes né quando eu tenho alguns tipos diferentes de redes quando a gente trabalha com tênis quando a gente trabalha com docker Network eu tenho aqui na quando eu tô trabalhando com docker Network eu tenho esses tipos aqui deixa eu colocar aqui Opa deixa eu aumentar aqui eu tenho esse tipos aqui que são utilizados eu tenho o tipo Bridge certo eu tenho também o overlay eu tenho o host eu tenho o nome eu tenho o Mac ver lá certo esses aqui são os mais conhecidos são os principais quando a gente fala em
em container em redes e doc certo na verdade redes e docker certo Opa deixa eu tô tomando uma surra aqui não tem problema deixa eu só colocar aqui certinho certo beleza e aí deixa eu aumentar aqui um pouquinho também então eu tenho esse tipos aqui de docker Network bit overlay Houston a gente vai ver aqui mais na prática esses três aqui o Bridge o host o noni e o vela certo mas eu vou te explicar aqui cada um deles a gente vai ver na prática que o tipo Grid o tipo host tipo Noni e eu
vou falar aqui sobre overlay o Mac vela o tipo Bridge ele é a conexão mais comum que você vai utilizar sei lá 95 96 por cento muitas vezes você vai utilizar a rede Bridge eu diria até que mais tá eu pouquíssimas vezes utilizei aqui os outros certo 99% das vezes eu utilizei a rede do tipo bid e ela faz a conexão né entre diversos com tênis e com ele você tem também um DNS aí você tem uma resolução de nomes para poder acessar os outros contêineres certo esse aqui é o tipo Bridge o tipo host
ele conecta o seu container na sua placa de rede na sua placa de rede Hospedeira então o container ele vai fazer parte da sua rede local da rede que está a sua máquina certo o nome ele não vai ter nenhuma rede conectada certo o overlay ele é utilizado quando eu trabalho com vários docker de irmãos quando eu tenho várias máquinas ali interconectadas então o overlay ele é utilizado quando a gente trabalha com o docker que é o orquestrador de contêineres da docker sim se você não sabe o a docker o docker ele tem ali um
orquestrador que meio que concorre ali com bernet mas ele não tem o mesmo ferramental do bernese é a mesma abrangência de mercado que o bernet uma água aqui então quando você tá utilizando o docker Storm e você vai utilizar essa rede aqui do tipo overlay e essa rede macveland é quando você quer ligar diretamente em um dispositivo de rede para você ter ali um endereçamento Mac certo esse cara aqui macvelan você vai utilizar só em aplicações ligadas que tem que ter ali uma conectividade física com uma placa de rede Eu particularmente nunca utilizei esse driver
Mac velan nos meus projetos quando eu trabalho com docker tá cara e trocando ideia com a galera poucas pessoas utilizam esse cara normalmente você vai utilizar o Grid você vai utilizar o rostinho alguns casos e você vai utilizar o overlay quando tá trabalhando com docker certo mas eu vou te mostrar aqui hoje exemplos desses três aqui a gente vai fazer aqui o uso na prática de alguns casos com eles e a gente depois vai montar um compôs e eu vou falar mais sobre boas práticas certo vamos começar aqui pela Rede Bridge mas antes eu quero
te mostrar como eu faço quais os comandos que eu utilizo para gerenciar rede com o docker certo para trabalhar com container eu tenho o docker né Eu tenho um comando docker container né LS para estar com tênis eu tenho docker container rampa Criar e executar os meus contatos para rodar ali os meus containers e eu tenho também o comando né eu posso utilizar aqui o docker Network o docker Network seu executar um enter aqui ó ele vai me falar ó que o docker Network com comando em seguida ele é utilizado para gerenciais Networks então se
você quer trabalhar com rede no Doc aí você vai utilizar docker network e o comando galera hoje eu tô essa semana eu tô com rinite atacada Tô meio gripado Então cara vai ter umas tosses aqui eu vou ter que beber bastante água eu tô aqui realmente focado da gente ter esse conteúdo então cara desculpa pelas costas que vão rolar beleza é beber mais uma água aqui Então beleza vamos lá é aqui eu tenho o docker contém o docker Network comando para gerenciar ali toda a parte de rede dos meus containers E aí eu tenho ao
Connect Create desconecting LS plunie RM tem o cliente também então toda vez que eu for gerenciar rede no docker eu vou utilizar o docker Network certo então um ponto muito importante aqui quando eu quero por exemplo em estas minhas Networks é utilizar o docker container docker Network Opa Network LS o docker o docker Network LS ele vai estar as minhas redes e você repara que olha só que interessante eu já tenho aqui três redes criadas aqui pelo próprio docker para trabalhar com os meus containers eu tenho aqui ó o Grid eu tenho host e eu
tenho o nome justamente né o que eu falei que a gente ia falar hoje bridgehost e o noni vamos lá o que que é esse Bridge aqui por padrão toda vez que eu vou trabalhar com o docker eu vou criar um container por padrão ele vincula o Meu Container na minha rede Bridge por Fabrício Mas você falou que os contêineres são isolados e tal por padrão Pois é eles são isolados mas até um certo nível Mas tem como isolar totalmente a gente vai ver aqui então para começar aqui eu vou fazer o seguinte eu vou
criar um container aqui ó vou executar um Blocker container e vou utilizar aqui para rodar botar aqui um menos D né para entrar em background e eu vou utilizar aqui para rodar um end next vou rodar esse cara aí vai criar aqui um container com o end next vou ver aqui ó docker containers aqui ó o container com o end next eu vou fazer o seguinte eu vou executar aqui docker container e eu vou verificar aqui esse container se você reparar aqui ó eu tenho deixa eu executar esse cara novamente dar uma orientação melhor se
você reparar aqui ó no Meu Container eu tenho o endereço IP aqui ó eu tenho aqui ó o Gateway aqui na verdade Alguém tem eu tenho aqui ó o endereço IP né no meu container e eu tenho aqui ó aqui em cima inspecionando Esse Cara eu tenho todas as configurações de rede desse Meu Container certo e aqui cadê Aqui ó eu tenho as Networks que ele tá vinculado e você repara que ele tá vinculado nessa rede Bridge e eu tenho o endereço IP desse carinha certo e o que que significa isso significa o seguinte se
eu criar aqui um outro container aí eu vou fazer o seguinte eu vou vir aqui e vou criar esse container docker menos esse é o Ubuntu e eu vou entrar em modo demo aqui barra bem barra 10 tá se eu ver aqui ele vai entrar aqui em modo demo né tem aqui o container deixa eu abrir aqui um outro terminal inclusive vou ter que acessar vi SSH a máquina certo deixa eu ver aqui deixa eu só pegar aqui o endereço ip da máquina copiar aqui beleza aí eu vou colocar aqui a minha senha Se eu
vir aqui agora docker container LS eu tenho as duas máquinas ou melhor tem aqui os dois contêineres rodando se eu pegar aqui se eu pegar aqui o nome desse Meu Container aqui no enginex e fazer um cão aqui diretamente Ai que no caso vou ter que instalar deixa eu instalar aqui rapidinho e instalar aqui o cão apti se eu pegar aqui e executar um cão para acessar lá o container né doente next eu não vou conseguir se eu pegar aqui ó deixa eu pegar aqui agora cão beleza botar aqui ó http dois pontos barra barra
e botar aqui o nome executar alá ele não resolvem não consegue acessar esse cara e não consegue acessar o end next mas se eu pegar o IP desse cara né com o docker infect pegar aqui esse IP e rodar aqui no cão botar aqui o http:// executar olha só que interessante eu consigo acessar o end next que tá lá no outro container o serviço tá lá no outro container então você vê que por padrão esse lance de que a o container ele não se comunica entre si é mais ou menos você tem ali uma conectividade
de rede sim né com os contêineres mas você não tem ali a resolução de nomes você não tem um DNS plugado nessa rede né então para você acessar os outros contêineres você vai ter que acessar diretamente via IP isso utilizando certo é o comando é o melhor isso utilizando essa rede padrão aqui que é a Grid que eu tenho aqui por padrão no Doc pô mas beleza Fábio isso como é que eu faço para não ter conectividade nenhuma não quero ter conectividade nenhuma com os containers aí é que entra a rede Noni né que entra
o vínculo de rede Noni aquele aquele segundo que a gente viu deixa eu ver aqui ó Network RS utilizando esse carinha aqui vamos fazer um teste eu vou fazer o seguinte eu vou ver aqui ó dockers e vou deletar esse end next docker container RM - f e vou matar esse cara aqui certo e agora eu vou fazer o seguinte eu vou recriar esse cara docker container [Música] eu vou botar até um nome nele aqui gente né para ficar mais fácil né para utilizar ali a resolução de nome Vou botar aqui ó name enginex e
eu vou fazer o seguinte eu não vou colocar ele na rede padrão né eu não vou deixar o padrão eu vou colocar aqui o None eu vou falar olha você vai entrar na rede None e eu vou rodar aqui o end next certo Deixa eu só conferir aqui beleza executo tá lá executou de boa agora eu vou ver aqui dockers eu tenho aqui criado o meu indinext agora eu vou fazer o seguinte docker infect inspect botar aqui o ID Vamos botar o nome aqui né o enjinex midnights e vamos ver o que que vai acontecer
olha só que interessante antes ele tava né como a rede Bridge e aqui agora ele tá na rede None e repara que olha só ele não tem nem endereço IP ele não tem nem endereço IP não tem jeito aí não tem nada né não tem nada disso então se eu agora vir aqui e tentar executar um cão e botar http dois pontos ele não vai resolver o indinext e muito menos eu não vou conseguir colocar um IP porque porque esse container ele não tem IP nenhum então como é que eu faço para ter realmente né
O isolamento definitivo no Meu Container não tem nem conectividade de rede ali padrão do Doc eu vou colocar esse cara na Network Noni então Network nono é o mais simples é quando você não quer conectividade nenhuma de rede você vai utilizar esse tipo de rede o nome né que tá aqui por padrão né aqui no Doc utilizando esse carinha aqui você já Opa esse carinha aqui você já resolve o teu problema certo agora tem um outro caso tem um outro caso que é quando eu quero criar uma rede específica para conectar com tênis eu não
quero utilizar essa Red build padrão né porque eu não quero conectar todos os contêineres eu quero conectar com o tênis específicos e eu quero ter resolução de nome eu quero acessar com o nome não quero acessar Vip porque quando a gente trabalha com container trabalhar com IP é a pior coisa que você vai fazer porque porque o contêiner Ele nasce morre o tempo inteiro e eu contei sempre vai ter ali essa mudança de tempo tá morrendo e nascendo o tempo inteiro Então você tem que utilizar a resolução de nomes para trabalhar com com tênis então
utilizar essa rede Bridge aqui quando eu quero ter interconexão entre contêineres via rede cara não é a melhor abordagem então o que que eu vou fazer aqui eu vou criar uma rede para mim para eu trabalhar com os meus containers E aí dessa forma eu vou conseguir fazer um uso melhor e de conexão entre os contêineres e a rede então o que que eu vou fazer vou criar minha rede vou ver aqui doc Doca container não docker Network é a força do hábito né cliente e aí eu vou botar aqui ó aí tá lá eu
criei doc Network Network RS Opa Network LS os meus as minhas redes e aqui ó o driver dele né o tipo de rede vai ser justamente o tipo Grid Mas vai ser um tipo diferente porque se eu vir aqui ó eu não vou nem mexer nesse container aqui eu não vou nem mexer nos containers que eu criei não vou nem recriar eles certo eu vou vir aqui ó vou dar um Ls e eu vou fazer o seguinte eu vou pegar esse container aqui de Next eu Ubuntu que eu criei e eu vou conectar nessa rede
que eu criei aqui agora eu vou utilizar para isso o comando docker Network Connect E aí eu vou conectar aqui é o seguinte eu vou botar aqui ó live and score net certo eu vou ver aqui e vou colocar também o ID do meu contém Ah no caso eu posso botar aqui o meu o nome do Meu Container Vou botar aqui Ah tá eu tenho como ele tá conectado no nome eu vou ter que fazer o seguinte eu vou ter que fazer o seguinte eu vou primeiro fazer o desconect disconecte None E aí eu vou
botar aqui o end next aí beleza desconectei né O Meu Container da rede Noni E aí sim eu vou fazer aqui o connect aí beleza funcionou se eu vir aqui agora doct Vou botar aqui o end next aí agora olha que legal eu tenho a minha rede Live net e agora eu tenho o endereço IP certo aqui ó eu tenho o endereço IP que é 172 1802 certo então o que que vai acontecer aqui eu vou fazer agora o seguinte eu vou conectar agora esse Meu Container aqui eu vou até pegar o ID desse cara
e vou na verdade fazer o connect e pegar aqui esse Meu Container adicionei né e agora vamos fazer um teste eu vou vir aqui e vou executar o cão botar aqui o cão http:// deixa eu pegar o IP desse container de Next é aqui ó 172 18.0.2 vou botar esse IP aqui vamos ver o que vai acontecer ah lá funcionou Consegui conectar aqui o meu containers ao contêiners Agora vamos fazer um outro teste esse aqui a gente já tinha visto né aquela rede padrão Bridge a gente já tinha visto que isso acontecia Vamos fazer um
teste agora eu vou pegar aqui http e eu vou utilizar o nome em DNA aqui o terminal vai ficar melhor da gente ver pegar aqui ó e vou botar aqui o end next executo Opa ah lá funcionou então você vê que existe diferença entre essas redes Existe diferença entre a Rede Bridge padrão que é aquela que eu já tenho aqui no meu docker né quando eu começo ali a trabalhar com um DOC Existe diferença entre essa rede aqui Bridge e essa rede que eu acabei de criar que é do tipo Bridge inclusive elas são redes
diferentes como é que eu vejo isso se eu vir aqui em doc Network s e pegar que o nome da rede olha só que interessante ele me dá que a rede ela tá ó no Range 172 17 esse cara 172 17 é a minha rede do tipo midia com a minha rede Bridge na verdade né do tipo vídeo a minha rede Bridge agora se eu vir aqui dar um espectro na minha Live opa Live underscorenet você vê que aqui ó a sub-rede né a rede dela é diferente você vê que aqui ó o Sider Block
16 então esses dois números aqui representa a minha rede e aqui ó ele tá no 7218 se eu criar uma nova rede Vou botar aqui um Network cliente Cadê Network Create botar aqui um Live underscorenet 02 ele vai criar outro você vai ver que a sub-rede vai ser diferente ó 172 19 então toda vez que eu criar uma nova rede ele vai estar ó numa subte numa sub-rede diferente começa não 172 17 que é a padrão da build criada pelo docker e depois você vai adicionando aqui conforme você vai criando outras redes aí vai criando
outras sub redes 172 19 18 20 por aí vai a Fabrício mas eu já utilizo esse Range aqui de rede na minha rede local essa subnete aqui já existe na minha rede local Dá para mudar isso dá eu não vou cobrir aqui nesse escopo da aula mas dá para você definir uma subnete diretamente para você não ter conflito de subir rede com a sua rede local Mas isso pode ser um problema sim você tem que ter esse cuidado certo então esse aqui é o tipo Bridge Onde você consegue trabalhar com diversas redes tendo a conectividade
entre os seus containers Vamos fazer um teste agora eu vou fazer o seguinte eu vou pegar aqui agora né e vou desconectar né O meu eu vou pegar o meu a minha rede o Meu Container end next e vou desconectar da rede que tá ali o meu outro container né o meu outro contêiner ele tá aqui vamos até ver aqui no quadro e vamos fazer um rascunho a gente entender melhor eu tenho aqui duas redes né eu tenho a minha rede na verdade agora eu tenho três né eu tenho a minha rede Bridge que é
padrão lá do Dock que vem junto doc né eu tenho a rede que eu criei lá a Live underscorenet Vamos só botar aqui direitinho senão para não dar ruim né deixa eu pegar aqui esse aqui vai ser o container e eu tenho aqui a Live net 02 né eu tenho essas três aqui botar aqui coloridinho vai ficar mais esquema ficar mais perceptível e aqui eu tenho um container Ubuntu certo eu tenho também aqui o end next certo é ruim né que vocês vão botar até um verdinho aqui para ficar mais mais claro que é ele
e aí eu tenho aqui o Ubuntu botar laranjinha né laranjinha é o Ubuntu ele tá conectado na Live net o enginext nesse momento aí também tá conectado a Live net eu vou fazer o seguinte eu vou desconectar ele e vou conectar aqui na live 02 Então vamos ver aqui o que que vai acontecer doc Network desconecte desconecte Live underscorenet e eu vou desconectar o end next certo fiz aqui o desconect agora eu vou fazer o seguinte docker Network Connect e vou colocar aqui ó Live undersco Hornet 02 e vou botar o enginext conectei docker Network
não docker container expect É isso mesmo e vamos ver aqui o end next Olha lá ele tá na Network Live net 02 com o IP 172 19 0.2 naquela subnet 172.19 certo esse carinha aqui né vamos confirmar ele aqui deixa eu pegar ele aqui eu podia ter botado um nome nele né para ficar mais fácil mas não dificultar aqui ó o mundo vamos ver aqui o docker eu tenho 17218.0.3 então eles estão em redes diferentes certo vamos ver o que que vai acontecer se eu vir aqui né e colocar esse cara botando aqui o cão
botando http dois pontos barra barra indinex A lá ele não consegue funcionar e se eu colocar o IP dele vamos ver qual é o IP dele lá vamos ver o que que vai acontecer vamos ver o que que vai acontecer pegando aqui esse ó que que acontece mesma coisa ele não consegue porque porque tá insubinete diferente então esses caras eles não vão ter conectividade Porque estão em redes diferentes eu coloquei eles em docker Networks diferente se eu mudar colocar agora né o container novamente aqui utilizando o docker Network desconecte e desconecte utilizando aqui primeiro tem
que tirar né o Live né pegar aqui o Meu Container ah pegar aqui o ID do contêiner aqui que é mais fácil pegando aqui o ID fazendo aqui Opa Network dá certo né bota dois n né Beleza Broken Network Connect agora vou aproveitar aqui o comando que eu sou preguiçoso né 02 Connect Beleza agora se eu pegar aqui por esse IP funciona se eu pegar pelo Imaginext funciona também porque agora eles estão na mesma Network entendido aqui galera entendido esse ponto da network Bridge do Network Noni a diferença entre o build padrão e a Network
quando você cria uma nova Ficou claro essa diferença deu para pegar né Agora vamos antes da gente seguir para como fazer isso compose eu quero te mostrar o seguinte Então vamos lá o docker Network host como eu falei ele pega o container e coloca na mesma rede que a sua rede local Então vamos ver aqui eu pegar aqui Blocker container deixa eu remover esses dois containers aqui que eu criei utilizar aqui um RM - F E aí eu vou utilizar aqui um subcomando Blocker contém LS menos que a para matar geral pronto se eu vir
aqui docker container LS já não tem mais nenhum container rodando se eu agora vira aqui e executar docker container - p80 uma porta 80 e rodar aqui o end next né vou fazer melhor vou rodar aqui uma outra aplicação vou utilizar aqui uma aplicação muito conhecida por quem acompanha aqui no canal que é o Fabrício Veronez deixa eu ver aqui barra conversão temperatura certo eu vou rodar esse cara deixa ele terminar aqui E aí aqui no caso eu vou ter que usar aqui o IP da máquina pegar aqui achei terminar eu rodando dessa forma o
que que eu tô fazendo aqui eu tô rodando um container esqueci o menos D Esqueci de colocar o menos dele rapaz cara não tem problema deixa eu ir aqui por enquanto não tem problema que que aconteceu aqui que que eu vou fazer aqui dessa forma executando o aqui o menos P eu tô fazendo um Band de porta da porta local do meu servidor né da minha máquina né Eu tô fazendo isso aqui ó eu tô pegando a minha máquina host eu tô pegando a minha máquina aqui eu tô pegando a minha máquina o host né
e rodando não contém dentro dele tô rodando aqui um container dentro dele container certo e aqui no caso que que eu tô fazendo eu tô fazendo um Band da minha máquina local da minha porta na minha máquina local com a porta do container eu tô pegando aqui a porta 8080 da minha máquina local né dessa forma aqui e fazendo um Band fazendo um vínculo com a porta 8080 no Meu Container fazendo Exatamente isso aqui certo tô fazendo essa ligação aqui beleza deixa até botar aqui diferente vou botar um branquinho não branquinho ficou ruim um verde
eu tô fazendo essa ligação aqui certo então agora se eu pegar o ip da minha máquina o ip da minha máquina aqui ó o melhor é da minha máquina E colocar aqui 80 80 e rodar Olha lá beleza minha aplicação conversão de temperatura tá funcionando mas eu tive que fazer esse Band de porta né Eu tive que fazer essa ligação aqui do Meu Container com a porta a porta do container com a porta do meu rosto se eu vir aqui e rodar aqui né Pera aí se eu vir aqui me rodar água eu vou ter
que matar esse cara conectar aqui de novo SH deixa ver se tem aqui se eu vir aqui agora conectar na minha máquina e executar um docker container LS aqui pegar aqui usar um espectro docker espectro para pegar o IP da máquina e tá no 172 17.0.2 ele tá aqui utilizando aquela rede Bridge padrão do Doc onde tem aquele Range de subir rede 172.17 agora eu vou fazer o seguinte eu vou vir aqui e vou deletar esse container docker container RM - f e vou deletar ele e eu vou fazer o seguinte eu vou recriar esse
container só que agora eu vou fazer o seguinte primeiro eu vou botar o menos D aqui né para não esquecer e agora eu vou fazer o seguinte eu vou botar esse cara na Network host eu vou utilizar o driver de rede que vai pegar o container ele vai achar na mesma rede da minha máquina host aí eu tenho que tirar esse menos P aqui eu vou tirar esse menos tempo que eu não vou fazer mais de porta poder Esse cara vamos ver o que que vai acontecer vamos ver aqui eu rodo aqui e olha que
interessante olha só que olha só que interessante olha aqui ele tá rodando aqui o meu o meu container eu tô rodando um container eu tô rodando aplicação em container mas olha aqui que legal o roxo mudou ele foi para o host Ubuntu o nome da máquina que tá executando o container Que tal executando esse processo se tornou Ubuntu Olha aqui que é o nome da minha máquina Olha só olha só que interessante se eu ver aqui agora docker contém Ls e dá aqui um espectro docker um espectro mostrando aqui olha só que interessante ele tá
na minha máquina host eu não tenho nem ideia SP aqui por que que eu não tenho endereço IP porque ele tá rodando na minha máquina ele tá rodando com endereçamento de rede da minha máquina local eu ataquei ele na rede na minha máquina local Então agora eu tô rodando container e de modo isolado mas ligado na minha rede local tanto que ele pegou o host o Ubuntu cara irado né irado isso daí Olha como é que olha como é que você consegue dominando os conceitos de rede do Doc montar a sua solução de forma muito
mais eficiente Pô eu não quero fazer baile de porta quero utilizar o processo do container local na minha máquina Você pode você pode executar conectando ele na tua rede roxo certo essa forma aqui faz você entender melhor são esses conceitos que fazem você trabalhar melhor é com rede certo bom antes da gente continuar aqui eu quero mostrar para você como fazer uso de todo esse conceito de rede de fazer esse setup de rede eu vou mostrar algumas boas práticas fazendo uso no docker composto como você faz para criar sua rede no docker composto certo mas
antes faz o seguinte pouco cara conhecimento desse que você tá aprendendo aqui dá um like no tipo YouTube entender que esse vídeo é de qualidade que vale a pena ser distribuído chama a galera para entender mais sobre redes com docker pega esse link compartilha no Linkedin compartilha no Whatsapp no grupo da família para que mais pessoas venham aqui assistir ajudar também o canal a crescer e também divulgar mais esse conhecimento e para a galera que tá aqui ao vivo na Live tem aqui a pergunta do Ronaldo Costa falando Fala aí Fabrício se já foi falado
desculpe mas com o Bernardes usando cryo ou contém energia qual o uso prático do docker Network eu aprendi o docker só para docker file e para container image cara quando a gente fala de comer né desaparada é muito diferente tá quando a gente fala em que o Bernardes esse conceito de docker Network não entra você vai utilizar docker Network quando você tiver montando as suas tag local com os contêineres quando você tiver montando o seu ambiente de desenvolvimento só com tênis que você também pode montar o seu ambiente de desenvolvimento com o docker utilizando escapou
de desenvolvimento contínuo que inclusive tem vídeo no canal vou colocar aí depois mas desculpa a galera aí a tosse Mas você vai utilizar docker Network quando tiver trabalhando com docker e doc compose o Bernardes é outra parada você vai utilizar o conceito de service então é outra parada quando a gente fala de coobernettes isso aqui é diferente certo tem vídeo no canal inclusive sobre service que eu explico como fazer o uso do Service mas é diferente aqui quando a gente fala do Doc certo bom então vamos ver agora como trabalhar aqui com o docker compose
para criar Aqui as nossas soluções para criar aqui o nosso ambiente eu vou fazer aqui um ambiente bem mais interessante a gente vai fazer uma brincadeira aqui bem irada certo eu vou mostrar aqui para você né primeira coisa que eu vou fazer deixa eu pegar aqui o meu raticonhão que eu tenho aqui né eu tenho aqui o meu High School do que a gente vai fazer e eu vou fazer o seguinte eu vou criar aqui primeiro um diretório depois não vou matar essa máquina Mas não tem problema vamos botar aqui um diretório Live né para
a gente fazer aqui o uso desse ambiente aqui para a gente poder criar esse ambiente eu vou ver aqui agora eu vou fazer o seguinte eu vou executar aqui primeiro docker container RM para matar geral certo eu vou fazer o seguinte dockers menos que a certo beleza agora que eu vou fazer Primeira coisa eu vou criar aqui o nosso compose então eu vou utilizar aqui o vinho docker [Música] e amam certo e eu vou pegar aqui um arquivo Yellow que eu já tenho aqui certo pegar aqui um aqui viemo e a gente vai destrinchar esse
cara eu vou mostrar aqui o que que é esse carinho certo beleza Salvar esse cara eu vou abrir ele aqui de novo esse cara ele é um docker compose onde eu subo a aplicação Cub News né que é uma aplicação também no JS que conecta com um post com banco de dados post-grir e vamos dar uma olhada aqui nesse compose aqui ó eu vou botar o seguinte ó eu tenho primeiro version onde eu especifico a versão que eu vou utilizar do compôs e olha aqui que interessante quando eu vou trabalhar com um docker compôs que
é o arquivo de declaração de container eu de também a minha Network então aqui ó Live NET né vai ser o nome da minha rede e eu digo ó o driver dele o driver dele vai ser o driver Bridge Então vou criar uma conectividade Entre esses meus dois containers E aí aqui embaixo eu tenho o Meu Container que eu tô criando é utilizando post Glee né utilizando a imagem em Post Lee tô dando nome nele de contêiner server certo eu tô botando aqui o nome dele de container server certo e aqui eu tô botando aqui
também esse nome aqui contém nesse server Pode até sair eu vou chegar aí daqui a pouco e aí eu tô achando aqui ó tanto o Meu Container quanto o outro nessa Network que eu acabei de criar que vai ser o Live net certo e aqui configurações padrões aqui do post gay aqui em eu tô pegando o cube News na que é a minha aplicação e aqui eu vou colocar a imagem que eu vou utilizar e as configurações também na minha aplicação no caso aqui Network Live net certo eu vou pegar aqui depois esse projeto todo
esse código que eu tô trabalhando aqui eu vou colocar num repositório eu vou colocar na descrição do vídeo então cara se você tá querendo acompanhar acompanha aqui depois eu vou subir e boto o link Beleza fica mais fácil então beleza coloquei aqui agora eu vou fazer o seguinte docker pose up menos D executo ele vai fazer todo o processo de criação para mim vamos lá ele tá aqui ó criando para mim aí vai rodar tudo para mim aqui e tal galera que tá aí assistindo ao vivo pode colocar Pergunta aí depois eu vou matar as
dúvidas a galera aqui tá ouvindo a gravação participa ao vivo que aí você pode tirar as dúvidas também tá aqui ó beleza tá aqui e agora docker container LS aqui ó as duas imagens rodando e não rodou porque porque provavelmente como eu subir aqui os dois ele não conectou o banco de dados aí não subiu é rápido o suficiente para conectar a aplicação Então deixa eu rodar aqui de novo ah Os dois estão rodando só rodar aqui de novo que dá de boa é porque a aplicação tentou conectar e deu erro mas agora se não
LS a lá então os dois rodando e agora se eu vir aqui fazer o executar aqui novamente fazer um flash direto no servidor Ah agora eu tenho minha educação rodando tem a minha aplicação aqui rodando Posso salvar aqui um postinho de boa beleza aqui mas ela funcionando é aplicação é que meu Portal de Notícia Mais simplão possível e aqui você vê o seguinte eu tenho aqui aquele mesmo esquema que eu pego o AG né pego o ID do container né que é o host né que tá executando ali a esse processo e coloca aqui em
cima para gente ver né quem é que tá processando essa requisição agora vamos fazer o seguinte aqui a gente brincou né criamos aqui um compose bem simples né deixa eu abrir aqui de novo o vinho a gente subiu aqui esse compose Bem simples vamos colocar mais complexidade aqui eu vou fazer o seguinte eu vou agora botar mais uma Instância do Cube News né vou colocar duas réplicas do clube News e eu vou colocar um snacks aqui para fazer o balanceamento de carga desse meu desse a minha aplicação aqui né eu vou colocar agora é duas
réplicas e vou colocar também o enginext então primeira coisa que eu vou fazer é adicionar a configuração do engenax eu vou botar aqui o indinex.com eu vou botar aqui também a minha colinha tá beleza aqui que eu vou disponibilizar para vocês depois certo e aí eu colei aqui e aqui ó o que que eu tenho salvar o que eu tenho aqui deixa eu botar aqui o vinho novamente é melhor para a gente ver que que eu tenho aqui eu botei a configuração do Andy next você tem aqui o Up stream como o cube News né
O que definir aqui quais os servidores que vão fazer parte desse balanceamento de carga e aqui eu simplesmente apontei né que qualquer chamada que foi feita por PF vai ser de redirecionado aqui para o clube News que vai ser no caso esse up swing então ele vai fazer aqui é o balanceamento entre o cube News 01 e o cube News 02 certo vai fazer esse balanceamento de carga beleza simples assim tão simples quanto isso e agora eu vou fazer o seguinte eu vou mudar lá o meu arquivo composer antes eu vou fazer aqui uma coisa
eu vou vir aqui doc com pouse Down para matar aqui esses contentes que eu tô executando certo tá matando aqui E aí eu vou fazer o seguinte eu vou pegar agora aqui o meu arquivo composer certo pera aí deixa eu só pegar ele aqui certinho Deixa eu só botar ele aqui certinho né e eu vou fazer o seguinte eu vou agora pegar esse cara e vou executar lá no meu docker compuse né vou limpar e aqui eu vou limpar esse conteúdo aqui todo certo eu vou limpar aqui tudo beleza e agora eu vou colar aqui
o conteúdo novamente Deixa eu só diminuir aqui um pouquinho junto para ficar melhor deixa eu ver aqui no meu retorno se dá para ver acho que dá para ver se vocês não tiverem vendo me fala aí então o que que eu vou fazer o que que eu fiz aqui melhor eu tenho o meu compose com a versão 3.8 mesma coisa criei aqui a Network live and next criei aqui o service né com o end next certo aqui o end next E aí eu peguei aquela configuração do enginex e coloquei como volume aqui no end next
se você não sabe trabalhar com volume puts tem dificuldade de trabalhar com homem Comenta aí embaixo coloca nos comentários Coloca aí no chat se vocês querem uma aula como essa aqui de docker Network só que para volume onde a gente vai destrinchar também conhecimento de volume Coloca aí hashtag docker volume eu saber que você quer esse conteúdo sobre o com doc Coloca aí no chat e coloca aí nos comentários que aí a gente faz essa Live aqui ó eu tenho os meus o meu server send next apontando aqui para o volume certo para aquele arquivo
é aqui eu botei o depende zoomper depende né desses desses meus dois serviços que vai ser o cube News que vai ser a minha aplicação só que no caso agora eu tenho duas porque eu tô aqui simulando um ambiente de alta disponibilidade né com a mesma configuração que eu fiz no anterior e aqui o postik eu não fiz alteração nenhuma Ficou a mesma coisa então qual é a diferença de um compôs e para o outro eu adicionei aqui é mais um News simulando aqui um ambiente com alta disponibilidade onde eu tenho duas réplicas e eu
coloquei aqui o end next fazendo o balanceamento de carga então agora ao invés de ter dois contêiner só eu tenho na verdade aqui quatro Eu tenho um post gay Tenho dois com pneus e tenho em DNA Então agora que que eu vou fazer vou rodar esse cara vem aqui executa o docker com pouse up -d vamos ver o que que vai acontecer Ah tem é um spoiler aqui que eu deixei mas vamos ver aqui cadê esse carinha Cadê esse carinha cadê cadê cadê cadê aqui beleza um spoiler aqui não tem problema Mas finge que ninguém
viu roda aqui aí vai rodar né tá criando aqui beleza vamos ver aqui se ele subiu tudo beleza agora foi rodando tudo tudo rodando e agora vamos ver o que que vai acontecer vamos ver aqui se eu dar um flash Olha que interessante se eu vir aqui cadê Ó eu peguei a porta 80 agora apontando para o meu indinext e agora Olha aqui que legal se eu pegar aqui ó eu tenho um ID que processou essa requisição se eu dar um flash olha lá olha que legal ele vai revezando porque porque eu não composer no
meu compôs que que eu fiz aqui que que eu fiz aqui eu criei a conectividade de rede em todos os meus containers aqui ó eu fiz a conectividade de rede live em genex aqui ó em todas as meus containers aqui ó Network Live in the next live and next e aqui ó lives beleza então eu consigo criar conectividade de rede tanto via comando com o docker Network quanto com o compose mas tem um detalhe aqui tem um detalhe muito importante que é uma das boas práticas que eu tenho que ter quando eu tô trabalhando com
redes mesmo aqui no ambiente docker aqui se você reparar todos os meus contêineres tem acesso a todos os meus containers e isso aqui nesse cenário não é legal porque cara faz sentido o container com o end next ter acesso aqui ao posto GR não faz né O container que roda que o end next ele tem que ter acesso só aos meus dois o post gri só quem tem que ter acesso é o cube News 2 e 1 então aqui eu preciso fazer o seguinte eu preciso fazer um isolamento de rede fazendo o quê criando uma
nova rede então aqui que que eu vou fazer eu vou criar um Live data E aí eu vou botar aqui ó dessa forma aqui certo e aí que que eu vou fazer o meu CFC beleza ele vai para conectividade com a Live com a live and next assim como o Cub News 0 e o 02 vai ter também a conectividade de rede com o live em genex E aí vem de Next também mas esses dois eles vão ter também o acesso ao Live underscore na cabeça então eu consigo criar o isolamento vem aqui Live underscore
Database E aí aqui embaixo potigre que que eu vou fazer e vai estar no tratamento então nessa forma eu trago mais segurança para o meio ambiente errado agora eu executo de novamente ele vai ó criar a nova Network e vai recriar aqui os meus containers recriando eu cheguei recriar certo Ah beleza vamos ver aqui novamente um erro deixa eu ver aqui docker container LS deixa eu ver aqui o que que aconteceu RS - a deixa eu ver aqui o que aconteceu com a indinext dockers not found [Música] e não achou o 01 que que aconteceu
com 0 vamos ver aqui o que que aconteceu docker vamos ver o que que aconteceu acabei de aí data [Música] Janete deixa eu ver aqui deixa eu ver aqui o que que aconteceu Deixa eu ver se eu digitei aqui alguma coisa errada a princípio não aí vem de Nexo Live database a princípio está tudo ok e não estava deixa eu ver aqui aqui Wind next deixa eu ver aqui só não está tendo conectividade com o primeiro deixa eu ver aqui Blocker [Música] qual é o nome de found Engraçado que tá dizendo que não achou obstream
deixa eu comentar aqui ver se ele vai achar um dois deixa eu ver aqui vai vir de de deixa eu ver aqui até fazer melhor [Música] remover tudo beleza agora vamos dar uma até que beleza eu aqui a rede next aqui databeiz ou indinext aqui o Iron de Next vamos ver agora o que que houve aqui vê se foi aqui só o end next rodor agora aparentemente funcionou foi só as aplicações de um conectaram com o banco que foi aparentemente deixa eu ver agora agora o um que não tá rodando deixa eu ver aqui o
que que aconteceu agora foi o outro que não Ou cadê vamos ver aqui logo Uber News zero tá funcionando ele não tá conectando aqui ao banco aí não tá conectando ao banco de dados Pode ser algum problema no arquivo vamos ver vamos ver aqui docker meninos Live Database aqui é o una database na cabeça que tá certo Database Aqui também tá ok postigia Deixa eu só confirmar que a senha está tudo certo cubinhos aqui tá certo aqui também tá ok com o Minions com vinils aqui Live da base esse nome aqui beleza vamos ver aqui
Vamos dar um OK vamos ver se vai funcionar vamos ver aqui agora agora aparentemente foi agora foi vamos lá agora foi foi água foi ela então dessa forma alá eu consegui criar aqui as minhas redes colocar aqui no meu composi certo e gerar conectividade de uma forma segura e eficiente certo aqui ó utilizando duas Networks e isolando aqui todos os meus containers onde os meus containers eles só vão ter conectividade entre si caso realmente seja necessário certo lembrando o seguinte lembrando o seguinte quando a gente fala em cobernético o cenário é totalmente diferente inclusive se
você quiser aí uma live sob conectividade Coloca aí também hashtag Network com bernet Eu também faço uma live faça uma aula como essa sobre rede direto beleza show de bola galera bom o Fernando perguntou aqui como fica a estrutura de banco de dados com Master slave em uma rede docker cara se você quiser testar escalabilidade com o banco de dados em containers você vai ter que criar dois containers com banco de dados e fazer todo setup como se fossem máquinas mas assim nesse cenário assim com docker eu não recomendo cara se você for rodar um
banco de dados com alta disponibilidade roda como um serviço na nuvem ou roda no cu bernese que aí você vai ter ali um ambiente muito mais propício para isso o velho perguntou se compensa utilizar volume em buckets Cara depende assim falar vale a pena cara mas assim eu tenho que entender o cenário para fazer saber se vale a pena ou não certo depende só no end next para os dois cubinhos sim Fernando porque é que que acontece deixa eu voltar aqui que que acontece eu para o indinext rodar né Para eu iniciar o end next
eu vou colocar o depenzon aqui no Club News 1 e 2 porque porque para rodar o end next os dois precisam estar rodando aí eu vou garantir que ele vai inicializar o clube News 1 e 2 primeiro para depois criar um end next consequentemente Eu também coloquei aqui depende só no post do post Lie porque porque eu garanto que a ordem de criação vai ser postigli o cubo News 1 e 2 e depois o enginext eu consigo garantir essa ordem de execução certo beleza show de bola pessoal bom eu espero que essa aula aqui esse
encontro essa Live tenha te ajudado a entender mais sobre docker Network se essa Live aqui agregou valor agregou conhecimento para você em relação a redes com docker Coloca aí nos comentários Coloca aí no chat # rumo a elite para eu saber que cara você deu mais um passo rumo a elite dos profissionais de tecnologia capazes de trabalhar com ambiente devops Então coloca aí que eu quero o seu feedback beleza bom pessoal por hoje é só muito obrigado pela participação aqui na live se você assistiu aqui ao vivo se você assistiu gravado Muito obrigado não esquece
de se inscrever no canal dá um like no vídeo para o YouTube entender que esse conteúdo é de qualidade Vale a Pena Ser distribuído e a gente se vê no próximo encontro na semana que vem beleza pessoal um abraço valeu