Docker: dicas e truques na utilização de containers - Parte 1

Renato Groffe
4 min readAug 19, 2019

Neste novo artigo inicio uma série com diversas dicas e truques envolvendo a utilização de containers Docker. Ao elaborar esse primeiro post levei em conta os questões como:

  • Evitar a digitar a digitação de um menor número de comandos, bem como instruções menos extensas;
  • Implementar soluções mais elegantes;
  • Utilizar containers de maneira mais segura.

E aproveito este espaço e o grande interesse por Docker também para um convite.

Tem interesse em conhecer mais sobre Docker? Que tal então fazer um curso completo, cobrindo desde fundamentos a diferentes possibilidades de uso de containers com tecnologias em alta no mercado? Adquira conhecimentos profundos sobre Docker, evolua e se diferencie no mercado, seja você um profissional DevOps, um Desenvolvedor ou um Arquiteto de Software!

Acompanhe o portal Docker Definitivo para ficar por dentro de novidades a serem anunciadas em breve!

Site: https://dockerdefinitivo.com/

Nomeando um container

Ao executar o comando docker run sem o parâmetro --name o Docker assumirá um nome aleatório na criação de um container. Podemos observar isso na imagem a seguir, com container zealous_mendeleev:

Assim, recomenda-se o uso do parâmetro --name justamente para evitar confusões e possibilitar uma rápida identificação quando da existência de numerosos containers dentro de um mesmo host Docker. No próximo exemplo a instrução docker run foi executada já contemplando esta boa prática (para a geração de um container chamado testeapi01):

Portainer: gerenciando containers Docker via interface Web

Muito do trabalho gerenciando containers Docker envolve a digitação de comandos via PowerShell ou Bash. E se pudéssemos simplificar algumas tarefas, utilizando uma interface Web que possibilitasse selecionar vários containers para a execução de uma ação?

A solução para isso está no Portainer, alternativa gratuita e habilitada para uso a partir de um container Docker (imagem portainer/portainer no Docker Hub). Na imagem a seguir é possível observar a utilização do Portainer no gerenciamento de um host Docker uma máquina Ubuntu Desktop 18.04:

Já abordei anteriormente esta ferramenta em maiores detalhes no seguinte artigo:

Docker + Portainer: gerenciando containers a partir de um browser

E tivemos ainda uma live no Canal .NET com o MVP Luiz Carlos Faria cobrindo diversos cenários de uso com esta ferramenta:

Azure Kubernetes Service: orquestrando containers de forma descomplicada na nuvem

O Azure Kubernetes Service é um serviço gerenciado que integra a plataforma de cloud computing da Microsoft, permitindo a criação de clusters Kubernetes na nuvem de forma descomplicada e sem grandes preocupações no que se refere à alocação de recursos de infraestrutura.

Abordei recentemente o uso desta alternativa no seguinte artigo:

Orquestração de containers na Nuvem com o Azure Kubernetes Service (AKS) | Microsoft Tech

E também em um um webinar produzido para a Microsoft e que pode ser assistindo gratuitamente a partir do seguinte link:

Kubernetes: do Pod ao Deployment Automatizado

Publicando sites estáticos com Docker e NGINX

A solução mais comum envolvendo a publicação de sites estáticos com Docker consiste no uso do NGINX, um web server open source que desfruta de grande popularidade entre Profissionais de Desenvolvimento e Infraestrutura.

Importante destacar ainda uma prática bastante comum que é a montagem de uma imagem Docker contendo uma aplicação Angular a partir do NGINX.

Descrevi a utilização do NGINX anteriormente nos seguintes artigos:

Publicando um web site estático na nuvem com Docker, Nginx e Azure Container Instances

Docker no Back e no Front - um exemplo com .NET Core e Angular

O NGINX também foi tema de uma live no Canal .NET neste ano de 2019:

Utilizando Volumes com Docker e Bancos de Dados

Discuti essa questão no artigo a seguir, com exemplos envolvendo a utilização do SQL Server:

Docker + Bancos Relacionais: cuidados importantes na criação de containers

E também em um artigo cobrindo o uso do PostgreSQL via containers Docker:

PostgreSQL + Docker: executando uma instância e o pgAdmin 4 a partir de containers

Docker Compose: criando múltiplos containers de maneira coordenada

O Docker Compose é uma solucão que permite a criação de múltiplos containers de forma coordenada, fazendo uso para isto de um arquivo no formato YAML para a configuração de cada um destes elementos e das redes/networks empregadas na comunicação entre os mesmos.

Importante destacar ainda que o Docker Compose representa uma excelente alternativa para a montagem de ambientes de Desenvolvimento/Testes.

Demonstrei a utilização do Docker Compose em artigos abordando diversas tecnologias:

ASP.NET Core 2.2: implementando Load Balancing com Nginx, Docker e Docker Compose

PostgreSQL + pgAdmin 4 + Docker Compose: montando rapidamente um ambiente para uso

MongoDB + mongo-express + Docker Compose: montando rapidamente um ambiente para uso

MySQL + Adminer + Docker Compose: montando rapidamente um ambiente para uso

O Docker Compose também foi tema de uma live do Canal .NET, na qual foram apresentados diversos exemplos baseados nesta tecnologia:

Sign up to discover human stories that deepen your understanding of the world.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

Renato Groffe
Renato Groffe

Written by Renato Groffe

Microsoft Most Valuable Professional (MVP), Docker Captain, Multi-Plataform Technical Audience Contributor (MTAC), Technical Writer and Speaker

Responses (1)

Write a response

Congrats for content. Docker is a essential concept, actually.