Ir para o conteúdo do rodapé
Iron Academy Logo
Aprenda C#
Aprenda C#

Outras categorias

Instalando Docker e Portainer no Linux

Tim Corey
~18m

Nem tudo deve viver diretamente em seu sistema operacional. Ferramentas como o SQL Server têm uma pegada significativa de recursos, e executá-las em metal nu significa que esses recursos são consumidos, esteja você precisando deles ou não. Contêineres resolvem isso: você cria um quando precisa e para-o quando não precisa. O Docker é o motor que impulsiona esse fluxo de trabalho e o Portainer é a GUI leve que o mantém gerenciável sem memorizar uma biblioteca de comandos de CLI.

Este detalhamento, com base na série de desenvolvimento Linux de Tim Corey, detalha a configuração completa no Ubuntu: registrar o repositório apt, configurar o motor, remover o requisito de sudo para máquinas pessoais e implantar o Portainer CE como um contêiner persistente.

Passo 1: Adicionar o Repositório apt do Docker

[3:10 - 6:00] Antes que o Docker possa ser instalado via apt, você precisa registrar a fonte de pacotes do Docker e dar ao seu sistema uma razão para confiar nela. O Docker fornece um bloco único de comandos copiáveis que trata de tudo isso em uma única colagem. Vá para docs.docker.com, navegue até a seção Instalar e selecione Ubuntu. Os comandos em "Instalar usando o repositório apt" são o que você deseja.

Esse bloco executa várias operações em sequência: instala as ferramentas de certificado necessárias, baixa a chave GPG oficial do Docker, ajusta suas permissões e escreve o endereço do repositório em sua lista de fontes apt. Execute todo o bloco de uma vez copiando-o dos docs e colando-o em um terminal com Ctrl+Shift+V.

Um ponto importante a enfatizar: não adicione cegamente novas fontes de pacote. Verifique se você confia na fonte antes de instalar sua certificação. O Docker é respeitável e vale a pena confiar, mas o princípio se aplica a toda fonte que você adiciona. Essa abordagem é na verdade mais rigorosa do que o que muitos gerenciadores de pacotes fazem por padrão, o que é uma característica, não uma complicação.

Passo 2: Instalando o Docker Engine

[6:00 - 7:10] Com o repositório registrado, instalar o Docker é um único comando apt:

sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
SHELL

Confirme quando solicitado, e o apt lida com o download e a instalação. O Docker é configurado para iniciar automaticamente na inicialização, então ele estará rodando em segundo plano após cada reinicialização, sem passos extras.

Para confirmar que tudo funciona, execute o contêiner hello-world:

sudo docker run hello-world
sudo docker run hello-world
SHELL

O Docker baixa a imagem, executa-a e imprime uma mensagem de confirmação. Essa saída significa que sua instalação está funcionando. O contêiner hello-world é projetado para executar uma vez e sair; ele existe apenas para verificar se o motor está respondendo.

Passo 3: Executando o Docker Sem sudo (Apenas Máquinas Pessoais)

[7:45 - 10:30] Por padrão, os comandos do Docker requerem sudo porque gerenciar contêineres é uma operação privilegiada. Em um servidor compartilhado ou máquina de produção, deixe isso como está. Para uma máquina de desenvolvimento pessoal que você controla sozinho, adicionando-se ao grupo docker remove o prefixo:

sudo usermod -aG docker $USER
sudo usermod -aG docker $USER
SHELL

-aG anexa a conta atual a ele. A distinção de maiúsculas e minúsculas importa: $USER deve estar em maiúsculas. A mudança não entra em vigor até que você saia e entre novamente; uma reinicialização completa do sistema é muitas vezes mais confiável do que um simples log-out para que a adesão ao grupo se aplique corretamente. Uma vez feito isso, docker run hello-world funciona sem sudo.

Isso é uma troca de conveniência, não uma melhoria de segurança. Mantenha isso apenas para máquinas de desenvolvimento.

Passo 4: Criando um Volume para o Portainer

[11:30 - 12:45] Antes de iniciar o Portainer, crie um volume nomeado para persistir seus dados através das reinicializações e substituições do contêiner:

docker volume create portainer_data
docker volume create portainer_data
SHELL

Os contêineres são efêmeros por design, e destruir um limpa tudo armazenado dentro dele. Um volume vive fora do ciclo de vida do contêiner em um caminho gerenciado pelo Docker, então a configuração do Portainer sobrevive, mesmo se você o destruir e reconstruí-lo.

Passo 5: Executando o Contêiner Portainer

[12:45 - 14:10] Portainer CE é em si um contêiner Docker. O comando completo de execução é:

docker run -d -p 9000:9000 --name portainer \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v portainer_data:/data \
  portainer/portainer-ce
docker run -d -p 9000:9000 --name portainer \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v portainer_data:/data \
  portainer/portainer-ce
SHELL

Explicando: -d executa o contêiner destacado para que ele permaneça em segundo plano. -p 9000:9000 expõe a porta 9000 do host e a redireciona para o endereço interno correspondente dentro do contêiner. O primeiro -v monta o socket Docker, dando ao Portainer visibilidade e controle sobre seus outros contêineres e imagens. Conectar o socket dessa forma é o que permite que a GUI leia e gerencie todo o seu ambiente Docker. O segundo -v vincula o volume que você acabou de criar a /data dentro do contêiner, persistindo seu estado.

Puxe de portainer/portainer-ce (Community Edition). O site portainer.io começa com o nível Enterprise pago, mas o CE é gratuito e totalmente capaz para uso local e pessoal.

Navegando pela UI do Portainer

[14:10 - 17:30] Assim que o contêiner iniciar, abra um navegador e vá para http://localhost:9000. O Portainer solicita que você crie uma senha de administrador no primeiro acesso; deve ter pelo menos 12 caracteres. Após o login, clique no assistente de configuração rápida sem adicionar ambientes extras, depois selecione o ambiente local no painel.

A visão inicial mostra um resumo: imagens baixadas, contêineres presentes, redes configuradas e volumes em uso. Clicar em cada seção dá a você controle total. Sob Imagens, você verá hello-world e a imagem Portainer CE das duas pulls realizadas durante a configuração. Em Contêineres, ambas as execuções hello-world aparecem em um estado parado ao lado do próprio Portainer, que está rodando ativamente.

No painel de Contêineres, você pode iniciar, parar ou remover qualquer entrada. Selecionar um contêiner e clicar em Logs mostra sua saída. As entradas do hello-world exibem o texto de saudação familiar de ambas as vezes que foi executado. Reiniciar um contêiner e verificar seus logs confirma que uma nova saída é adicionada abaixo da primeira.

Os volumes são listados com seus caminhos de montagem. A entrada portainer_data mostra sua localização em /var/lib/docker/volumes/, onde o engine armazena todos os dados de volume nomeado no disco.

Por Que Escolher o Portainer em Vez do Docker Desktop

[17:30 - 18:10] O Docker Desktop é enviado com uma GUI, mas tem um overhead significativo, o que importa em uma máquina de desenvolvimento Linux onde você deseja recursos do sistema disponíveis para suas cargas de trabalho reais. O Portainer CE roda como um contêiner e consome muito menos memória e CPU. Ele cobre as necessidades práticas: navegar por imagens e contêineres, ler logs, gerenciar volumes, iniciar e parar serviços, tudo sem o peso.

O que vem a seguir

[17:50 - 18:30] Com Docker e Portainer no local, o próximo passo na série é executar o SQL Server como um contêiner. Um único comando docker run puxa a imagem e inicia uma instância. No painel de contêineres do Portainer, você pode pará-lo quando sua sessão terminar e reiniciá-lo quando precisar novamente. Este padrão se aplica igualmente ao Redis e outras ferramentas de infraestrutura que são caras para rodar continuamente, mas simples de conter.

Conclusão

[18:30 - fim] Para recapitular: registre o repositório apt do Docker com sua chave GPG, instale o engine via apt, opcionalmente adicione seu usuário ao grupo docker em máquinas pessoais, crie um volume nomeado para o Portainer e execute o contêiner portainer/portainer-ce mapeado para a porta 9000. A partir desse ponto, localhost:9000 fornece uma GUI que cobre o trabalho diário de gerenciamento de contêineres no Linux sem precisar tocar no CLI para tarefas rotineiras.

Assista ao vídeo completo no canal do YouTube de Tim Corey para seguir a instalação em uma máquina ao vivo.

Hero Worlddot related to Instalando Docker e Portainer no Linux
Hero Affiliate related to Instalando Docker e Portainer no Linux

Ganhe mais compartilhando o que você ama.

Você cria conteúdo para desenvolvedores que trabalham com .NET, C#, Java, Python ou Node.js? Transforme sua expertise em renda extra!

Equipe de suporte de ferro

Estamos online 24 horas por dia, 5 dias por semana.
Bater papo
E-mail
Liga para mim