Fala galera! Venho aqui anunciar o primeiro episódio do meu podcast sobre a área de…
CallFé Dev 009 – Docker: por que você deve começar a usar?5 min read
Categoria: Docker Engenharia de Softwares Podcast CallFé Dev
Fala galera! Bora falarmos sobre container com Docker? Esta ferramenta tem um poder incrível de transformar a frase: “Na minha máquina funciona!” em realidade! Vem comigo que explico como essa ferramenta é fantástica! Vamos bater um papo sobre os conceitos e como você pode usar o Docker para criar soluções de infra tanto em tempo de desenvolvimento (seja para dev ou QA) quando em produção.
Ouça o episódio aqui
Este podcast está dividido em quatro partes, então caso queira ouvir por parte segue os minutos:
- Parte 1 (Alguns conceitos iniciais): 9m10s até 25m45s
- Parte 2 (O Docker): 25m45s até 44m00s
- Parte 3 (Os benefícios): 44m00s até 56m00s
- Parte 4 (Docker hub e recomendações finais): 56m00s até o fim
Links relacionados
Meu LinkedIn: https://www.linkedin.com/in/fabio-almeida100/
React 18 saindo do forno
Acesso direto ao projeto Alpha da versão 18 do React
Site oficial do Docker
Por que usar Docker?
Documentação do Docker
Críticas e sugestões: contato@criarprogramas.com
O famoso Docker
A primeira versão foi publicada em 2013 e hoje, ainda com menos de 10 anos esse projeto é adotado por diversas empresas ao redor do mundo, principalmente, os serviços que trabalham com projetos na nuvem. O projeto é desenvolvido em Go e funciona no Linux, Windows e Mac 🙂 Nada mal, hein…
A arquitetura do Docker
Client: CLI (command line interface) que irá fornecer acesso ao controle do docker daemon.
Docker deamon: o Docker daemon recebe comandos do cliente a partir de CLI ou API’s. O Docker host pode ser local ou remoto e consegue criar, iniciar, desligar e excluir vários containers.
Registry: é uma espécie de repositório para imagens.
Passo a passo para começar a usar o Docker e criando seu primeiro container
1º Instalar o Docker engine: você pode fazer o download do Docker a partir dessa página https://www.docker.com/get-started . O Docker pode ser executado no Windows, no Linux e Mac, então escolha a versão apropriada para a versão do seu SO.
2º Após instalar o Docker vá até o seu terminal e digite esse comando:
docker run -d -p 8080:80 nginx
Acesse no seu navegador http://localhost:8080
E aí está: você acabou de criar e executar um container Docker do servidor nginx. Veja que foram utilizados dois parâmetros para criar o container:
-p: para maepar a porta interna do container com a porta da máquina host (sua máquina real).
-d: execução em modo deamon, ou seja, para deixar o container executando em background.
Usando o banco de dados MongoDb através do Docker
Como comentei no podcast você pode criar um container do MongoDb a partir da imagem oficial do MongoDb que você pode ver aqui.
Comando para criar uma instância do MongoDb:
docker run --name meu-mongo -d -p 27017:27017 mongo:latest
A partir da execução desse comando você pode conectar no MongoDb utilizando o MongoDB Compass, por exemplo, utilizando essa connection string, abaixo (mongodb://localhost:27017):
Um exemplo de uso do [docker-compose]
Existe uma aplicação chamada MongoExpress que é uma imagem de um sistema que você pode usar para administrar seus bancos de dados MongoDb através de um navegador. Usarei ela como exemplo para você ver como funciona um docker-compose, com uma aplicação front-end/backend (MongoExpress) mais o banco de dados MongoDb
1º passo: crie uma pasta no drive c:/ da sua máquina com o nome, mongo-express
2º passo: copie as instruções abaixo para um arquivo com o nome mongo-express.yml e coloque dentro da pasta criada no passo anterior. Importante: COPIE DA FORMA COMO O ARQUIVO ESTÁ, POIS ESSE É UM ARQUIVO QUE LEVA EM CONSIDERAÇÃO A INDENTAÇÃO.
services:
mongo:
image: mongo
restart: always
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: example
mongo-express:
image: mongo-express
restart: always
ports:
- 8081:8081
environment:
ME_CONFIG_MONGODB_ADMINUSERNAME: root
ME_CONFIG_MONGODB_ADMINPASSWORD: example
3ª passo: execute a instrução abaixo, na pasta c:/mongo-express que você criou no passo 1 e que está com o arquivo de configuração do projeto:
docker-compose -f mongo-express.yml up
4° passo: acesse o endereço http://localhost:8081
Você deve ver uma tela parecida com essa:
Veja que no docker-compose acima, nós temos dois services que são imagens docker que quando executadas através do comando docker compose up irão criar dois containers que se comunicam entre si através da rede interna do docker.
Play with Docker
Já comentei sobre esse serviço do Docker, mas vale reforçar aqui: o Play With Docker é incrível para você treinar os comandos Docker sem precisar de instalar o Docker na sua máquina. Vale a pena conferir esse serviço disponibilizado pela empresa Docker, Inc..
Clique aqui para entender como usá-lo.
Em breve estarei trazendo mais conteúdo sobre Docker 😉