Transcript for:
Criação e Gerenciamento de Ambientes com Docker e Docker-Compose

Olá pessoal eu não sei se já tiver dos problemas essa semana que vem problema que foi o seguinte eu precisava precisa não é que eu precisei montar um ambiente PHP fiquei só que eu sou uma pessoa meio enjoada acontece ambientes tá porque na verdade a gente tem um monte de ambiente né tem também de pega pendente Java ambiente de fechar pelo ambiente de Julian bem de pai então ele fica aquela confusão né de ambiente eu falei por estrela vou eu ter que botar uma faixa tem que colocar uma SQL e vou ter que colocar o pé HP sobre a passo aquela montagem toda e fiquei pensando será que não tem um jeito mais fácil para gente poder controlar esse a mente algo que tem o DOC beleza só que o docker problema é o seguinte é poderia poderia a criar três imagens uma do Apache uma do PHP e uma do mais quer Ok beleza e depois fazer essas imagens tudo se comunicar só que daria muito trabalho então eu queria o seguinte pra poder levantar um ambiente vocês três de seu ambiente Sem problema nesse ponto é que o docker-compose é joia Ok as pessoas falam você tem que usar para compor para todo usa para conseguiu não gente se fosse assim para ter o DOC então então porque aqui não é só docker-compose na composé quando você tem uma mais e mais e você quer gerenciar todas elas Ok então por exemplo você tem uma imagem de banco Você tem uma imagem depois de linguagem Você tem uma imagem ambiente você quer toda vez que você subiu uma se é obrigada subir todas Ok para isso tudo com poder show de bola então quê que eu vou e vamos criar um docker-compose vou mostra aqui como é que é o docker-compose tá e vou disponibilizar o meio ambiente todo que dó que é composto por fazer o teste em PHP com mais querem inclusive vou usar né o mais um programa aqui ó esse programinha filha chamada de viver Ok adora de programa acho ele legal para caramba tá eu amo ele para poder gerenciar banco de dados porque todos os meus bancos gerenciam com ele aí Existem duas versões dele antes que você se assuste existe uma versão paga em porque ele dá acesso a bancos no SQL na versão paga que dessa versão que eu uso que a versão gratuita para bancos SQL tranquilos então meu objetivo final eu vou me conectar no bebido para ver se está tudo funcionando e vou me conectar no PHP também para ver se tá tudo funcionando e aí não vê tá completo Ok então esse vídeo vai ser e esse é o fim vai tá travado Fernando teu ambiente mas nunca tentou não sei o que então vamos parar com essa bosta Bom vamos lá primeira coisa que a gente vai fazer eu vou criar um docker-compose Ok por favor gente vamos nós ó Nessa aposta minha que ter HP qualquer um cria uma pasta esse aplicativo projeto PHP que aqui esse problema você tem que ir imaginar o seguinte quando eu subir o ambiente ele vai fazer referência as pastas da minha máquina para máquina do contente Então beleza primeira coisa você tem que fazer primeira sempre primeiro cria uma pasta que essa parte Aonde vai estar todos seus arquivos Beleza então primeiro negócio tem uma pastinha e essa parte você vai referenciar ela por favor quando for criar essas pastas não bota acento não coloca caractere especial não bota nada é nome simples OK aí você vai ter nessa passagem tem uma cena tem um tiozinho ele já E aí tô morrendo tem que você sentiu aqui representa home tá então esquece isso ok então não bota acento A então minha pasta aplicativos projetos pega a pena verdade eu tô no ponto Fernando aplicativos projeto PHP em um ok É o primeiro detalhe A gente vai criar um arquivo aqui ó chamado Nokia a compose docker-entrypoint.sh ml são nesse arquivo aqui the yawning tá então toca trás compose. Y ml aí você fala ela não vou botar um demais vou botar o celular não faça isso não doc ele tem que ser toque atrás compose. Y m e esse é o nome do arquivo ok que que é o exame e eu não basicamente é como se fosse um gay vão vai ele tem uma bela aparência que tem um X1 Tá então vamos lá como é que ele dividir ele é dividido nos seus contêineres então por exemplo aqui eu vou criar o primeiro com treino eu gosto mais contém dele PHP mas o meu controle ipega ter tá o nome dele não vai ser senão então não mais imagem E aí minha margem vai ser a seguinte vai ser até da p 2.7.4 o braço capa o futebol Opa meu pai papai completei chão dele tá ótimo né bom próximo passo vou dar um nome para o Meu Container vou lá que minhas contas tu tem o nome padrão então meu tela beleza senão você pode colocar o que você quiser agora mesmo detalhe importante Associação de portas o abaixo ele me disponibiliza duas portas uma porta eh 80 Cuidado pela moderna 8080 não é 70 do Tomcat então nós temos a porta 80 e a porta 443 80 para requisições http 443 para requisições http S Então vamos lá portas e nós temos a seguinte eu vou dizer para baixo e assim olha meu querido a 80 80 80 você vai associar a família porta 80 a mesma coisa para 443 então toda vez que na minha máquina eu chamar a porta 80 que está associada com a sua porta e tenta quando eu chamar a minha máquina coca-cola três vai estar associado com a sua posso atrás e vice-versa quando você falar 80 também falou 80 beleza é isso que isso aí quer dizer gente é simples assim a mesma coisa agora vou fazer aqui ó Volume 1 o volume eu vou dizer para ele que eu disse para vocês ó Criei uma pasta essa porta tá lá ontem Fernando aplicativos projetos PHP E aí eu vou dizer o seguinte o meu querido negócio seguinte afasta home/Fernando/aplicativos a barra projeto/PHP vai estar toda vez que eu fizer uma alteração nela eu quero que você altere a sua pasta vá www HTML Ok então Ou seja quando eu mexendo meus arquivos aqui ele automaticamente copia mesma coisa para ele fazer um sincronismo de pasta é isso basicamente que volumes faz beleza e agora vou dizer para ele o seguinte por favor se linka e como container chamado bebê Esse é o pulo do gato ligação de contentes aí você falou que era você poderia fazer isso com Doppler Fire poderia a gente vai ficar um monte de dó que eu falo é separado boto todos eles na rede docker ele tem que estar na rede na mesma rede para poder conversar ok E aí vai me dar um belo de um trabalho criando o docker-compose quando eu tenho mais de um container fica legal OK aí fica bacana tá então nós bebê duas pontas mesma coisinha para ele tem uma imagem só que a imagem aqui que eu quero que a do mar essa Kelly e eu quero por favor a última imagem do mais quero que você puder é uma conta ainda nem me é que eu vou fazer meu meu padrão meu Maressa quer que eu vou colocar a pedra tempo ele vai ficar um container com esse nome e eu já tenho contendo isso nome que meu pai é sequer porque eu tô botando meu mais quero pegar até inclusive para associados o Olá porta do Maias cada banco de dados tem sua própria porta a porta do mais Kelly é a porta 33 106 então tô dizendo para ele o seguinte o meu querido negócio seguinte a porta do mar SQL 3306 vai estar associado com a minha porta 3306 pena porque você precisa descansar a mente precisa não né senhora ver que não precisa não mas eu gosto de dar manutenção no banco de dados através da bíblia e o dever precisa que essa porta eh resposta ok é mais por causa do DVD do que fica qualquer outra coisa que você vai botar esse sistema de produção Você pode tirar isso aí para tirar o acesso banco Ok então lembra o seguinte a gente essas portas Quando você bota assim né Elas estão o Livres pode dizer você vai botar esse sistema produção arranca fora isso aqui ela não deu deixar não é um lá volumes volumes é o seguinte a única Associação de volume que eu preciso fazer a pia levar/livre/my SQL e para poder ter o meu volume do meu mais quero só isso em Valente Oi e aí sim olha aqui no ambiente vocês jogaram na documentação do docker-in-docker e o docker eu eu do do do mais querido do docker o que que acontece você tem várias variáveis que você pode passar tá uma delas uma dessas variáveis é amar SQL Trace o Ruth traço peço a e o que que eu vou dizer carinhosamente com meu banco de dados sua acesso né do root é através da senha noite aí basicamente isso que eu tô falando tranquilo show de bola Então pronto aí tá os dois configurados o legal do docker-compose de novo para mais de uma imagem para mim mas não tem o menor sentido eu ver as pessoas usar o docker compose aqui vem é um caminhão para matar mosquito É sério porque é muito controle tá aí é bobeira muito muito se você quiser botar crítica nos comentários se você não tarde mas não tem indicativo Ah eu tenho uma imagem só para cá tô com pouco e parece até eu tenho uma orquestra vai ter só um violino Ali vai ter uma Extra o violino acabou vai ter mais ninguém é isso basicamente a pessoa tá me dizendo Então vou tem uma pessoa vi tocando até um cara fazendo assim e para que você tem pelo menos dois ou mais tudo bem mas sim não só sinto muito eu não vejo negócio em que ele nisso tá não tem nenhum menino eu não posso fazer muita coisa então lá olha só então na minha parte tá lá embaixo eu tenho medo ó que é composto aqui ó legal joia primeira coisa vamos subir esse daqui é composto só subiu docker-compose você vai dar na mesma pasta que tá o arquivo de áudio você só pode subir ou descer tá os contêineres Você pode até fazer monumento Mas você só pode subir ou descer na mesma pasta Que tal do comportamento do componente é como doc é comum né eu poderia subir e descer um encontro mesmo qualquer parte é que eu queira aqui não aqui como eu tenho uma composição né então só posso subir os conteúdos junto de seus não tem nenhum juntos na pasta que tem o arquivo toca é composto trás ficou Trial Ok sem isso é não vai deixar então nós o Alcatraz um close em Ok e se passa um sub se mostra menos dei para ele poder subir em modo de bebê trump ok então nós dá uma entra aqui e vamos aguardar um pouquinho eu já sobre essas imagens estão as imagens já estão aqui senão ele Farei o mesmo processo ele vai sorrir também vai pegar a sua imagem da ué vai trazer para cá Pronto já tá lá o meu doc Então vamos dar um docker o PS menos aqui na verdade só para ver os contêineres que ele subiu Então pronto aí você nos dois contém só que linda Eu tenho o apacho tá lá o meu uma taxa ele tá lá pelo pela perco a parte que tá lá o meu mais quer os dois juntos OK aí você fala beleza Fernando e para descer é para fechar os containers gente cuidado pelo amor de Deus com os comandos Happy eu dei porque foi a primeira vez eu criei Se eu quisesse desde criar os conterrâneos Se eu quisesse matá-los com tênis a gente dá um docker-compose a Down que isso comando vai eliminar os contêineres é isso que esse comando vai fazer OK então a gente não vai parar os contêineres por aí eu quero parar os com tênis eu dou um docker-compose stop e na próxima vez eu docker-compose start não up as pessoas agora eu tenho que subir os conteúdos da Fé compose outro você tá recriando Xbox carne você tá fazendo o quê não faz isso não pelo amor de Deus só você ficar dando Ok composes top não que a compôs start Beleza você vai dar o estoque está até porque eu vou fazer isso eu aí Me apresenta um probleminha aqui vocês vão ver então mais bom já tem tudo no Am agora preciso fazer alguns testes primeiro teste que eu vou fazer mais exatamente com bebendo eu quero ver meu banco mas quer se ele tá ativo e qual é o banco que eu tenho disponível para mim então lá aqui no de vive gente eu adoro esse produto eu posso me conectar vários bancos de dados SQL os Não esquece de novo existe a versão paga você quiser tá E aí você poderia se conectar aos no esquece Thomas pronto aí esses são os bancos só olha a quantidade de banco de dados que eu posso me conectar a eu não preciso ficar aí vou me conectar mais quer qual é o cliente de uma raça que era preciso me conectar o posto Qual é o presente do posto preciso me conectar não o sabe qual é o preço do saco e assim sucessivamente não aqui eu tenho todos os conectores OK tá tendo Fire bug tendo o gás que é de dele tendo mas tb tenho do perdoar perdoar que vocês tenham do meu bebê Ok beleza eu tenho aqui também essa parte aqui não esquece essa parte não esquece tá vazio vazio porque é isso é Registro então eu te pago OK para bancos SQL o programa mistério demais tá então vou criar uma nova conexão do mais quer ter uma dica esse programa foi feita em Java Ah tá então o que acontece ele baixa um driver jdbc por isso que ele consegue se conectar em vários bancos de dados do mesmo estilo então nós next E aí eu vou dizer o seguinte ó serve local rosto porta 3306 Eu não creio banco de dados então usuário root tem a Cut beleza tranquilo sai de sala passou hoje aqui ó desta conexão então testar conexão vai me dar o primeiro erro tem mais nada que a data eu queria mostrar isso aqui para vocês que muita gente tem esse erro aí fica ai meu Deus não consigo nem comer ficado mais quero calma gente Leia o que ele tá dizendo porque quer ir recreio não é permitido Ok vamos para as propriedades do drive em uma das propriedades do drive tá aqui ó Publique que ri Trevo Ele tá dizendo que é falso apenas vim aqui e troca esse aqui para tua pronto e aí volta lá e volto testar nossa conexão novamente e tá lá como é que tá bonitinho Ainda não há problema Ok então não entra em desespero tá gente é erro todo mundo ganha eu ganho um monte Aqui é pesquisar é ver tá aí vou me frente é assim que se faz é que não adianta ficar chorando não dá um ok aqui e vou dar um finish bom então a minha conexão beleza pronto agora um show só ver qual a data vez que eu tenho aqui porque a beleza não tem uma data de chamada assim banco conectado o show de bola Vamos Bora para o PHP agora preciso testar o seu PHP Tá tudo funcionando primeiro primeiro vou pegar um arquiteto até aqui e eu falo que eu fyo Ok vou chamar esse arquivo de Obrigado ele sempre nessa parte aqui do nazismo beleza pronto New files aí a Teste. PHP Ah tá ok beleza show de bola então tem meu pega até aí Teste básico na Hello rosto PHP que todo mundo faz Interroga PHP PHP e eu fiquei com tem, Interroga fechou bem pertinho todo mundo faz para saber como é que tá pega aperto tão bom agora que eu preciso agora preciso para abrir uma página da web digitar local rosto não 80 oitenta pelo amor de Deus e dá um Eta Ok show não tem permissão dentro dessa parte ainda bem lá Teste Ponto pega ter E tá lá o nosso PHP ativa aí todo mundo para o vídeo aqui para calma gente calma não é e quando você me conectar não tô cuidado aí meu teste vai tá feito Ok então vamos voltar para cá Ah beleza eu pega Tem instalado funcionando tá lá bonitinho só que eu preciso me conectar vamos bloquear de comando aqui e vou dizer para ele seguinte dólar com é igual a Mai S querem mais Kelly e anda só Connect eu quero me conectar com mais Kelly ir Ok o mais quer ele ele tem basicamente quatro propriedades na linha de conexão dele quais são as propriedades Fernando com a primeira delas cuidado pelo amor de Deus é o endereço do banco de dados beleza eu tô tem a tendência de colocar o seguinte local mas não caroço na minha máquina local roxa Ah não cara tá não conselho OK aí você fala pô beleza então qual é o nome do container tá aqui embaixo meu mas quero pegar e vai errar de novo mundo container não em nome do container você disse lá não dava com força Ah tá aqui esse é o nome seu completo Ok então toma cuidado com isso é por isso que eu falei que lá em cima é o nome do container a Fernando mas eu não contei né bebê Ok então cuidado Prince então lá ver Beto beleza próximo ponto próximo último usuário senha Rute por último banco de dados que você está se conectando esses por isso que eu fiz questão de abrir por aqui para saber qual é o banco que eu te respondido ontem e por aqui também eu posso criar um novo banco se eu quiser beleza jóia volta para cá o ok diet demonstrando por favor mais é sequer e erro é é que estou com tanta beleza show de bola caso contrário por favor bom conectado à o pontilhismo por favor vai abrir uma conexão fecha ela faz isso comigo não dólar Close Abril fechou pronto eu não sei que ter esse conector é achei ele fez muito esquisito falou umas coisas e a Gabriela que meio estranho mas tudo bem Bom vamos lá então que vai acontecer aí gente eu tô tentando me conectar naquele banco de dados lá tá então se não der certo ele vai me acusar um erro na minha tela se der certo eu me senti mostrar mensagenzinha boto conectado de volto então eu salvei alguém joia e meu Deus deu ir vó Nossa Senhora display de novo falei um pô erro eu tá dizendo o seguinte não deixa uma função definida chamada mais qle Connect Ok pronto aí é que vem a graça do meio ambiente por isso que eu fiz frear o André que dessa foto porque Fernando por causa do seguinte de quando em quando a gente precisa estar lá no clubinho do pé da pele Ok beleza eu tô fazendo aqui um trabalho esse trabalho existe que eu isso e indeterminados tem um container agora nós vamos não você não vai ter que matar o seu container gente localidade existe um comando existem dois cômodos no Doc decore isso por favor um deles é o hum hum executar o container para rodar o container você prefere a palavra tá existe um comando chamado esek esek para você executar um comando no container nisso que saber o leque então só cuidado quando a gente pudesse comando vamos lá docker-entrypoint.sh que eu tomo uma composição então Doca composto tudo agora virou docker composé WEG sentiment doc então docker-compose exec meu traço PHP e oque é esse é o nome do Meu Container agora é o Meu Container mesmo que tá ali eu contei me chamo eu pego aqui e é isso que eu vou falar para ele ok aí eu vou dizer para ele o seguinte por favor docker PHP extensão que instala tudo junto doc trás pega te traço apps trás install tem eu quero ser instale para mim o seguinte Pedro se não tiver não sei perdeu mas Kelly o mar é sequer mais SPL II a Ok Google corretor realmente que eu tô usando a gente que fala assim ó docker-php-ext-install mais Kelly que eu tô instalando no pé dela oque é e nobu t serviço meu pega p Olá eu sou serviço meu pega p O que é uma coisa aí E aí E aí e pronto sempre a mesma história o nome do container container volta aqui né HP Ei Fernando vou te contar viu Você também é um caso sério a fala de para gente o negócio aí muda aqui calma gente pode Cristo tá vendo perfeito Ok vamos lá tá cara parece que tá tá tá tá o OK Tá instalando Tá instalando até mora ótimo show de bola vamos voltar para nossa página aí essa minha cara de alegria alegria pronto show aí a gente vamos nós Stop parece né tem que parar de novo então nós ficou top eu parei o container para poder pegar as alterações e vou estar tá o container tá vendo que eu não usei o happy eu dava apenas os reis top está pronto parei estar teus contendo ó ontem aquele sempre para junto e inicia junto também que por isso docker-compose OK vamos lá é flash e parar banco conectado sem o menor problema então já deve ter um banco J stampede APK e agora posso desenvolver meu aplicativo sem o menor galho no PHP e ainda tenho esse cara daquilo que controla todo o meu botão se eu quiser criar um banco de dados é só eu criar o banco de dados por aqui ó E aí tá tudo lindo maravilhoso não é posso instalar plugins posso fazer qualquer coisa com o meio ambiente aí você fala tô falando terminei de trabalhar joia você terminou de trabalhar Doca comprou se top pronto É por que que ele vai fazer ele vai parar o banco de dados falou onde fazer isso aí chega aqui no bebida né dá um Stop aqui também não desconecta pronto OK E aí pronta tá né ver ok peça que bonito tem nenhum container ativo nenhuma memória tá acabando com minha máquina Olha que legal E aí se eu quero subir o negócio docker-compose estar que eu sou do meio ambiente pegar pelo desse meio ambiente PHP subiu ambiente Python desse meio ambiente parte aqui no banco que eu preciso com qualquer coisa dessa sobre o ambiente Java de cima Bem diabo é isso toca composer é Ótica quando você quer gerenciar três ou mais contando então por exemplo eu uso muito docker-compose vocês olhada que minha mãe que contém Os botão PS comendo usar aqui ok então meus container por exemplo olha lá já viram para quê que eu uso né no caso aqui dessa entidade ó eu tenho todos ambientes Parque nojenta que ele tem que subir conjunto pelado e mais aqueles parque são as tags Parque rosca Spark worker dois pega o que pude você tem subir que interessa é igual a hora não usa um toque é composto E para isso nesse caso docker-compose se aplica agora por exemplo eu tenho aqui ó o ambiente do Rui tá aí ó esse aqui é o Rui é meu olho Ok para quê que eu vou criar um Dok com postar um container não tem sentido sinto muito tá não tem sentido você quiser postar eles combinavam você tá errado tem sentido sim por causa disso beleza bota aí por causa disso aí eu aceito joia grande abraço o nosso próximo encontro eu sei que esses encontre Doca demora um pouco mais eu gosto de mostrar as coisas caso você quiser conhecer Como eu queria esse ambiente bota aí também nos comentários e não faz um vídeo aí mostrando do momento que cria o Spark né Bota o ambiente parque e eu faço vídeo para vocês grande abraço a gente tá nosso próximo encontro