Docker: uma ferramenta para potencializar o desenvolvimento de softwares

Itaú Tech
ItauTech
Published in
6 min readMar 26, 2024

por Lucas de Faria Polaquini, Especialista em Engenharia de Tecnologia no Itaú

A imagem mostra o texto “Docker: confira benefícios e jornadas de uso da ferramenta no desenvolvimento de softwares”, em branco, sobre um fundo azul, no lado esquerdo. No lado direito, há a foto de uma mulher preta, de cabelo amarrado, olhando para uma tela.

Se você é uma pessoa entusiasta ou que já atua na área de tecnologia, já deve ter ouvido falar de termos como “Docker”, “Container” e “Conteinerização”. Mas você saberia detalhar o que eles significam e elencar os seus benefícios?

Neste artigo, vamos abordar como eles podem aliar inovação e adaptabilidade para endereçarem desafios de negócio, além de trazerem portabilidade e automação no processo de desenvolvimento de aplicativos. Além disso, entenderemos também por que esta plataforma pode ser tão poderosa e como ela pode lhe ajudar em sua jornada no desenvolvimento de softwares.

O que é Docker?

Docker é uma plataforma de virtualização de contêineres que permite que pessoas desenvolvedoras empacotem suas aplicações em ambientes portáveis e autossuficientes que podem ser executados em qualquer lugar, independentemente do sistema operacional e da infraestrutura de hospedagem. Em outras palavras, ele torna a criação, implantação e gerenciamento de aplicativos muito mais fácil e eficiente.

Além disso, o Docker oferece às equipes de desenvolvimento de software uma maior capacidade de garantir que seu aplicativo seja executado da mesma maneira em qualquer ambiente.

A ferramenta pode ser utilizada gratuitamente, porém em alguns casos pode-se escolher modalidades pagas para se ter acesso à funcionalidades adicionais.

Por que o Docker é tão poderoso?

Uma das principais vantagens do Docker é a capacidade de encapsular todas as dependências e bibliotecas de um aplicativo em um único contêiner. Isso significa que, em vez de ter que configurar o ambiente de desenvolvimento para cada desenvolvedor, todos podem usar o mesmo contêiner e ter exatamente o mesmo ambiente de desenvolvimento. Isso reduz significativamente a complexidade e os erros causados por diferenças de ambiente.

Ele ainda permite que os desenvolvedores criem, implantem e gerenciem contêineres facilmente, sem se preocupar com as complexidades subjacentes de virtualização e infraestrutura. Com isso, você pode se concentrar no desenvolvimento de sua aplicação e não perder tempo com tarefas mais morosas, como de configuração e gerenciamento, por exemplo.

Hands-on: como usar o Docker?

Agora que você sabe o que é Docker e quais são seus benefícios, é hora de começar a usá-lo. Aqui está um tutorial rápido sobre como começar:

  1. Primeiramente, instale o Docker em seu sistema operacional. Você pode baixar e instalar o Docker a partir do site oficial da Docker.
  2. Depois de instalar o Docker, abra um terminal e execute o comando ‘docker run hello-world’. Isso irá baixar e executar um contêiner chamado ‘hello-world’ e imprimir uma mensagem de boas-vindas na tela.
  3. Agora que você já tem o Docker funcionando, é hora de criar seu próprio contêiner. Crie um arquivo chamado ‘Dockerfile’ em um diretório vazio e adicione o seguinte conteúdo:
[FROM ubuntu:lates
 # Atualiza a imagem com os pacotes
 RUN apt-get update && apt-get upgrade -y
 # Instala o NGINX para testar
 RUN apt-get install nginx -y
 # Expoe a porta 80
 EXPOSE 80
 # Comando para iniciar o NGINX no Container
 CMD [“nginx”, “-g”, “daemon off;”]

Este Dockerfile irá configurar um contêiner usando ubuntu que expõe a porta 80 e executa o comando para iniciar o nginx. Agora, execute o comando ‘docker build -t meuapp.’ no diretório onde está o arquivo Dockerfile. Isso irá construir uma imagem Docker chamada ‘meuapp’ a partir do Dockerfile.

Finalmente, execute o comando ‘docker run -p 80:80 meuapp’ para iniciar o container. Para testar, vá até seu navegador http://localhost/.

Na imagem, consta a tela do navegador que aparece ao digitarmos o endereço “localhost”.  Desta forma, conseguimos validar que nosso container está funcionando e acessível para nós

Comandos para facilitar sua jornada

Conheça os principais comandos da plataforma. Para acioná-los, basta acioná-los dentro do prompt de comandos do seu sistema operacional.

  • Docker Version
    Esse comando exibe as informações da versão do Docker que está sendo executado tanto no cliente quanto no servidor. Ele mostra a versão do Docker Engine, API version, Go version, Git commit, OS/Arch e outras informações relevantes. Essas informações podem ser úteis para depuração e diagnóstico de problemas.
  • Docker info
    Com o comando docker info, é possível visualizar informações de alto nível do sistema Docker. O comando exibe informações como número de contêineres em execução, número de imagens disponíveis, versão do Docker em execução, sistema operacional hospedeiro, espaço em disco total e livre, configurações do driver de armazenamento e configurações de rede. Essas informações podem ser úteis para identificar problemas de desempenho ou espaço em disco, bem como para entender melhor como o sistema Docker está sendo executado.
  • Docker Images
    O comando docker images é usado para listar todas as imagens que estão armazenadas no host Docker local. Quando você executa esse comando, o Docker exibe uma tabela que contém informações sobre cada imagem, como o nome da imagem, a tag, o ID da imagem, o tamanho e a data de criação.
  • Docker Pull
    O comando docker pull é usado para baixar uma imagem Docker de um repositório remoto, como o Docker Hub. Este comando é usado quando você precisa de uma imagem que não está disponível localmente no seu host ou quando precisa atualizar uma imagem existente para a sua versão mais recente.
  • Docker Run
    O comando docker run é usado para executar um container Docker. Um exemplo de uso é o seguinte: suponha que você tenha uma imagem do Nginx chamada nginx:latest e deseja executar um container a partir dessa imagem.
  • Docker PS
    O comando docker ps é usado para listar todos os containers Docker em execução no host. Este comando é bastante útil para visualizar informações básicas sobre os containers, como seu ID, nome, status, porta mapeada. Para listar todos os containers, incluindo aqueles que estão parados, basta incluir a opção (-a).
  • Docker Inspect
    O comando docker inspect é usado para exibir informações detalhadas sobre um container. Essas informações incluem detalhes sobre a configuração do container, as redes em que o container está conectado, o status do container etc.
  • Docker Start
    O comando docker start é usado para iniciar a execução de um container Docker que foi previamente criado e parado.
  • Docker Stop
    O comando docker stop é usado para parar a execução de um container Docker em execução.
  • Docker Restart
    O comando docker restart é usado para reiniciar um container Docker que está em execução. Isso pode ser útil quando você fez alterações em um container em execução e precisa reiniciá-lo para que as alterações entrem em vigor.
  • Docker Exec
    O comando docker exec é usado para executar um comando dentro de um container que já está em execução. Isso pode ser útil quando você precisa acessar um container em execução para executar algum comando ou script.
  • Docker Logs
    O comando docker logs é usado para exibir os logs de um container que já está em execução. Isso pode ser útil para depurar problemas no container ou simplesmente verificar o que está acontecendo dentro dele.
  • Docker RM
    O comando docker rm é usado para remover um container Docker que não está mais em execução. Quando um container é parado (docker stop), ele permanece em seu sistema até que seja removido explicitamente.
  • Docker RMI
    O comando docker rmi é usado para remover uma imagem Docker do host local.

Conclusão

Em resumo, o Docker é uma ferramenta indispensável para pessoas desenvolvedoras. Com sua capacidade de criar, implantar e executar aplicativos de forma rápida e consistente, além de ser altamente portátil e escalável, o Docker permite que você concentre sua energia em construir o melhor aplicativo possível.

Agora que você se familiarizou com seus principais benefícios e comandos, é hora de começar a usá-lo e aprimorar seu fluxo de trabalho de desenvolvimento.

Curtiu o conteúdo ou ficou com alguma dúvida? Então não deixe de comentar abaixo!

--

--