Salve, Deus, beleza? Continuando essa saga aqui no nosso mundo do Docker, nosso módulo de Docker, eu quero reservar esses dois últimos capítulos para a gente poder falar sobre Docker no mundo de desenvolvimento. Desenvolvimento, a gente está desenvolvendo aplicações com que Docker entra nisso, e também em Docker para produção, e depois a gente vai para a Kubernetes. Muitas das dicas que eu vou passar para desenvolvimento é baseado na minha experiência que durante anos eu venho sempre reunindo informações, eu sou muito noiado com Docker para desenvolvimento. Chega num ponto que eu não faço mais nada, vou colocar entre aspas, porque algumas cois que eu não faço mais nada, eu vou colocar entre aspas, porque algumas coisinhas eu não acabo utilizando o Docker, mas eu utilizo o Docker para qualquer coisa que eu vou desenvolver. É certo que se for um teste muito simples, alguma coisa que... Ah, não vou ficar criando uma imagem, não. A gente utiliza, inclusive, aqui dentro da Full Cycle, Docker para tudo que a gente vai desenvolver. Então, o que eu quero passar nesse capítulo é a ideia de usar Docker para desenvolvimento, porque muitas pessoas e empresas acabam utilizando Docker mais para produção, porque não vem muita vantagem utilizar o Docker para dev ou porque tentaram utilizar e passaram por alguns problemas. Então, eu vou reunir muitas informações que já vai dar o caminho das pedras para vocês. Mas, claro, inclusive tem essa introdução que eu coloquei aqui para a aula. Uma das vantagens claras de usar Docker para desenvolvimento é justamente fazer a unificação do nosso ambiente de desenvolvimento entre as nossas equipes. Imagina que a gente está desenvolvendo uma aplicação PHP, Java, não interessa qual é a linguagem de programação. Aí nós vamos ter pessoas, muitas vezes, que não têm as mesmas máquinas, que até não têm os mesmos sistemas operacionais. Então, o Docker deixa mais livre, para que as pessoas consigam usar o seu determinado ambiente, tendo experiências, a gente não pode falar que são iguais, mas que elas vão ser padronizadas. Porque a gente viu que container vai usar a estrutura do próprio sistema operacional. Então, por exemplo, se você está no Mac com M1 e outra pessoa está no Linux, algumas coisas podem variar, mas a gente tem esse tipo de padronização. Então, todo mundo que vai desenvolver aquela aplicação, ele acordou, vai levantar, faz um Docker Compose Up, já levanta tudo, vai minimizar questões da linguagem de programação, a aplicação não está funcionando, não está conectando com o banco de dados, coisas assim, esses ruídos acabam sendo minimizados. E também vai fazer com que toda vez que a gente queira rodar, principalmente ferramentas que têm que ser instaladas na nossa máquina, como Redis, RabbitMQ, bancos de dados e outras ferramentas, que às vezes a gente fica instalando na nossa máquina e aí tem que usar uma versão diferente ali, aí tinha uma aplicação antiga que usava a versão que você está, aí agora já não está funcionando mais. Então, você tem a disponibilidade de baixar uma imagem nova e conectá-la com a sua aplicação, isso pode ser destruído depois. Você não danifica a sua máquina, que é algo muito comum também. Você vai instalando essas ferramentas na máquina e às vezes você faz alguma coisa que não devia e você nem sabe o que você fez e aí vai para recuperar a sua máquina, ter que reinstalar as coisas do zero. Então, desenvolver aplicações com Docker vai fazer com que você deixe a sua máquina livre desses ambientes de desenvolvimento, fazendo com que você não perca mais o medo de errar. Ah, se eu fizer alguma coisa... Deixa eu fazer um teste aqui para ver se isso funciona. Não, não deu certo. Você destrói o container, apaga a imagem. Então, nós vamos ter todos esses benefícios para poder usar o Docker para desenvolvimento. A questão é que nós temos várias maldades que tem que ter ali com o Docker para desenvolvimento, que algumas empresas acabam não tendo paciência. E esse é o ponto. que algumas empresas acabam não tendo paciência. E esse é o ponto. Eu vou falar aqui nesse capítulo, Ana, sobre configurações de IDE e outras coisas, configurações de volume e boas práticas também de montagem da imagem, Docker Compose, que vai servir para que você use para qualquer linguagem de programação. A ideia é justamente essa. E um ponto também importante sobre esse Docker para desenvolvimento, que Docker não é uma ferramenta simples de aprender. Eu já estou trabalhando com Docker, desde o começo, eu não mexi muito, mas já mexi um pouquinho, depois foi aumentando, fui estudando mais, estudando mais, então desde 2016. Para você poder ficar bom no Docker, de fato, você tem que praticar bastante. E não adianta somente praticar esses exemplos que eu estou passando aqui, não é suficiente. Por isso que Docker para desenvolvimento também vai ser bom, porque você pode pegar as suas aplicações e dockerizá-las. Trabalhe com tudo para docker. Pegue todas as suas aplicações. Todo dia que você vai começar o seu trabalho é sempre docker. E aí vão vir mais desafios, mais erros e assim que você vai aprendendo. Então, é um ótimo lugar para a gente poder colocar em prática. Porque as aplicações de negócio que a gente tem, tem os riscos, tem as suas devidas restrições, e aí que vai fazer você queimar a sua cachorrinha e pensar um pouco mais e solidificar esses fundamentos que você tem que ter para poder evoluir com o Doc. E, obviamente, o Doc é uma ferramenta hoje indispensável para empresas. Muitas empresas você nem entra se você não souber o básico de Docker. Então, nós vamos fazer uma configuração manual e depois nós vamos usar uma ferramenta que é do próprio VS Code, que é o Dev Container, que nos ajuda a criar esse ambiente para desenvolvimento de forma mais facilitada, sem ter que ficar fazendo muitas configurações para ter um bom ambiente ali com Docker para poder desenvolver as nossas aplicações. Então, pessoal, preparados para mais uma minifaga? Vamos evoluindo e até a próxima. Tchau.