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…

Empresas que usam o Docker

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 😉

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *