Salve, galera. Beleza? Continua a nossa saga aqui no nosso módulo de Docker. Agora nós vamos falar de uma das principais vantagens de se utilizar o Docker. E isso aqui foi uma das coisas que catapultou o Docker, que é a facilidade de a gente já encontrar qualquer tipo de ferramenta que a gente quiser para já usar como um container, que é o Docker Hub. Então, o Docker Hub nada mais é do que um repositório de imagens que vão servir como referência para a criação de containers. Depois a gente vai falar mais especificamente sobre essas imagens. Eu entendo se você estiver confuso na diferença entre imagens e containers, mas pode ficar tranquilo que vai chegar o momento de a gente falar dessa diferença. Mas entenda que a gente não fez ali o run C em cima daquele rootfs, que é um userland lá de Debian que não tem nada. Então, imagina aquele rootfs que a gente baixou lá de algum lugar, como se fosse uma imagem. A imagem vai ter um monte de arquivos. Então, quando eu vou criar esse container, ele já é criado ali naquele userland. Então, eu posso ter uma imagem já que vem com MySQL, que vem com PHP, que vem com Java, que vem com Python, que vem com Node.js já instalado, eu já saio usando ele ali diretamente. Então, a imagem já contém uma série de ferramentas que você já pode usar para poder rodar a sua aplicação, desenvolver, enfim, fazer o que você quiser. Então, foi esse um dos grandes pontos que acabou catapultando o Docker. Vamos dar uma olhadinha, então, aqui nos benefícios que a gente tem? Vamos pegar o primeiro nome, Docker Hub. A gente tem um nome que todo dia, provavelmente, você deve pensar nele, não que você não pronuncie, mas é o GitHub. Se eu perguntar para você o que é o GitHub, tenho certeza que você vai conseguir definir ele muito bem. Ele vai ser um lugar para a gente poder armazenar repositórios Git. O Docker Hub vai ser um lugar para a gente poder armazenar repositórios de imagem. Imagens Docker, no caso. Essa aqui é a diferença. Então, quando a gente usa o Docker Hub, a gente vai encontrar lá, você vai encontrar qualquer linguagem de programação que você quiser. Então, essas principais ferramentas, como banco de dados, linguagem de programação, outras ferramentas diversas, normalmente as empresas criam uma conta lá dentro do Docker Hub e já disponibiliza as imagens com várias versões diferentes e tudo mais. Mas você aí na sua empresa, você pode também criar uma conta lá e fazer o seu armazenamento de imagens. Inclusive nós temos dois tipos de repositórios de imagem. Posso ter um repositório privado, como o do GitHub, que só a sua empresa e as pessoas do time têm acesso, ou totalmente público, que aí todo mundo consegue baixar e usar aquilo ali. Como eu já falei, nós temos as imagens oficiais. Então, você vai encontrar, por exemplo, Oracle lá dentro, Microsoft, Google, imagens oficiais com linguagem de programação já embutidas dentro da imagem. Aí você vai criar o container e já inicia ali com tudo rodando bonitinho. Tem também uma parte de verificação de segurança. Então, toda vez que você sobe uma imagem lá, ele vai passar alguns processos para verificar se não tem algum script malicioso e tudo mais. A gente consegue, inclusive, ver selos ali de auto-verificado, igual rede social. Então, eu sei que essa imagem aqui está vindo diretamente da Oracle, eu sei que tem mais responsabilidade, mas às vezes o Zezinho que está jogando a imagem lá, está lá, se quiser usar, você usa por sua conta e risco. A gente consegue também trabalhar com builds automatizados, mandar lá para o Docker Hub, por exemplo. Eu consigo chegar num GitHub, num Bitbucket, toda vez que eu subir alguma coisa para um repositório Git, ele vai criar uma imagem no Docker Hub de forma automática, vai taguear isso para mim e tudo mais. Além disso, ele possui os webhooks, então vamos supor que você tenha alguma ferramenta que tenha que ser notificada quando tiver uma nova imagem lá no Docker Hub. Então, você tem os webhooks que tem uma nova imagem, então eu posso receber uma notificação que uma nova imagem foi produzida. Então, basicamente, esses aqui são os benefícios. Aí aqui está o Docker Hub, que é o hub.docker.com, que a gente tem o docker.com, que é o site da Docker Company, que nós temos os produtos e tem a parte da documentação aqui do Docker, mas essa parte aqui é só o repositório de imagens. Como eu não estou logado, ele pede aqui para eu logar ou criar uma conta, mas eu posso fazer uma pesquisa, por exemplo, aqui de Java. Não sei qual é o Java que tem aqui. Ah, vamos de Node mesmo, que Node vai direto. Então, é uma imagem oficial do Docker. Então, significa que é um selo de verificação garantindo que a equipe lá do Node.js que está produzindo essa imagem. Aí eu tenho um readme dela mostrando todas as versões. Eu tenho versão que vai rodar um Alpine, que vai rodar outras versões. Então, agora a gente entende, né? Se eu estiver rodando uma imagem que vai gerar um container Alpine ali no meu Ubuntu, eu estou rodando ele como Alpine, mas ele está compartilhando o kernel que eu tenho ali no meu Linux, mas é o Alpine que vai ter ali os executáveis e as questões do Alpine. Aí eu tenho várias instruções aqui embaixo de como manipular essa imagem, sobre as versões e tudo mais e aqui as tags. Então, tenho todas as tags, as arquiteturas disponíveis das imagens, da compatibilidade também, isso é muito importante, porque se tem uma imagem que inicialmente está compatível com o MD64, pode ser que essa imagem provavelmente não vai rodar no ARM, não vai rodar no seu Mac M1. Então, depois a gente fala mais sobre essas questões. Mas aí eu tenho aqui questões sobre vulnerabilidade, qual o comando para poder puxar essa imagem e também o tamanho dela. Tem algumas imagens que são bem grandes, que vão ter muitas ferramentas e outras imagens que vão ser bem chutas. A gente pode ter aqui imagens na casa de 2 MB, 5 MB ou coisas assim. Aqui já é a imagem no nível de compressão. Então, você pode pesquisar aqui das imagens oficiais. Eu tenho o Ginex, eu tenho o Ubuntu. Se você quiser pegar um userland de Ubuntu inteiro, você pode, para poder rodar como um container. Tem Python, Redis, Postgres, MySQL, enfim. E nós temos também as nossas imagens. Vou pegar aqui a minha conta, que eu estou logado no meu Docker Hub, e aqui são as minhas imagens que estão públicas. Como lá no GitHub sempre tem um prefixo, as imagens para a gente que é o mero mortal que não são aquelas imagens oficiais sempre vai ter o seu nome de usuário barra o nome da imagem então Argentina Luiz que é o nome do meu usuário mais a imagem então posso acessar a imagem não coloquei nenhum readme aqui para essa imagem mas aí tem as informações dela mais a imagem. Então, posso acessar a imagem. Eu não coloquei nenhum readme aqui para essa imagem, mas aí tem as informações dela, enfim, que eu poderia colocar e etc. Aí você pode pesquisar aqui. Então, é um lugar que você... é o lugar oficial, o lugar que a gente vai sempre baixar as imagens que a gente vai acabar utilizando. Mas o Docker Hub não é o único. Você pode criar o seu repositório de imagens na sua cloud, na sua máquina local, em qualquer lugar que você quiser. Mas a questão é que a Docker está fornecendo um projeto open source com uma série de coisas prontas para poder utilizar. Entende por que isso acaba popularizando? Porque todo mundo quer usar o Docker. Então, isso aqui é a ferramenta, vamos colocar assim, que popularizou de fato é o Docker Hub. Porque se eles fornecessem apenas os executáveis para poder criar container, imagina você, como que eu quero usar aqui minha linguagem de programação, minhas coisas, eu vou ter que ficar fazendo as coisas na mão? Então, acho que isso esclarece muito bem a visão de que o Docker hoje é a principal ferramenta para poder rodar containers aí no mercado, mas não é a única. Então, pessoal, vamos evoluir nossa saga. É isso aí. E até a próxima.