20. Como instalar o Docker no Ubuntu Server: guia passo a passo de conteinerização

A conteinerização transformou a implantação de aplicativos ao empacotar software em ambientes isolados e leves que garantem consistência entre sistemas diferentes. Docker no Ubuntu Server é uma combinação poderosa que simplifica esse processo, permitindo que desenvolvedores e administradores de sistemas criem, entreguem e executem aplicativos sem problemas. Como a principal plataforma de conteinerização do setor, o Docker simplifica os fluxos de trabalho e melhora a escalabilidade do desenvolvimento de aplicativos modernos.

Neste guia, vamos orientá-lo nas etapas para instalar o Docker no Ubuntu Server e executar seu primeiro aplicativo conteinerizado. Quer você seja novo no Docker ou esteja buscando otimizar seu processo de implantação, este tutorial ajudará você a começar a usar a conteinerização no Ubuntu Server.


Artigos anteriores:

01. Introdução ao Ubuntu Server – SysOSX: AI & Cloud

02. Como configurar seu primeiro servidor Ubuntu: guia para iniciantes – SysOSX: AI & Cloud

03. Dominando a linha de comando do Linux para Ubuntu Server – SysOSX: AI & Cloud

04. Gerenciamento de usuários e permissões no Ubuntu Server: um guia completo – SysOSX: AI & Cloud

05. Noções básicas de rede para Ubuntu Server: um guia completo – SysOSX: AI & Cloud

06. Instalação e gerenciamento de software no Ubuntu Server: um guia completo – SysOSX: AI & Cloud

07.Aplicação de patches e atualização do Ubuntu Server: um guia completo – SysOSX: AI & Cloud

08. Proteja seu servidor Ubuntu: etapas práticas de reforço e proteção – SysOSX: AI & Cloud

09. Auditoria e registro de logs do servidor Ubuntu

10. Ferramentas de monitoramento do sistema para Ubuntu Server: um guia completo – SysOSX: AI & Cloud

11. Registro centralizado para servidores Ubuntu: um guia indispensável – SysOSX: AI & Cloud

12. Auditoria e conformidade para Ubuntu Server: práticas recomendadas – SysOSX: AI & Cloud

13. Configuração do servidor Ubuntu para hospedagem e aplicativos Web: guia definitivo – SysOSX: AI & Cloud

14. Hospede vários sites em um único servidor Ubuntu: dicas úteis – SysOSX: AI & Cloud

15. Gerenciamento de armazenamento e discos no Ubuntu Server: guia simples – SysOSX: AI & Cloud

16. Configuração de serviços de compartilhamento de arquivos no Ubuntu Server: um guia completo – SysOSX: AI & Cloud

17. Configuração de um servidor de banco de dados seguro no Ubuntu: MySQL vs. MariaDB – SysOSX: AI & Cloud

18. Como configurar e usar LVM no Ubuntu Server: um guia completo – SysOSX: AI & Cloud

19. Introdução à virtualização com KVM: guia para iniciantes do Ubuntu Server – SysOSX: AI & Cloud



Pré-requisitos

Antes de instalar o Docker, verifique se o servidor Ubuntu atende a estes requisitos:

  • Ubuntu 20.04 LTS ou posterior (64 bits).
  • privilégios sudo ou acesso root.
  • Conexão estável com a internet para baixar pacotes.

Etapa 1: Instalar o Docker no Ubuntu Server

Atualizar pacotes do sistema
sudo apt update && sudo apt upgrade -y  

Instalar as dependências necessárias
sudo apt install apt-transport-https ca-certificates curl software-properties-common -y  
Adicionar a chave GPG oficial do Docker
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg  

Configurar o repositório do Docker
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null  

Instalar o Docker Engine
sudo apt update  
sudo apt install docker-ce docker-ce-cli containerd.io -y  
Verificar a instalação
sudo docker run hello-world  

Se for bem-sucedido, você verá uma mensagem de confirmação como a abaixo.


Etapa 2: Gerenciar o Docker como usuário não root

Por padrão, o Docker requer privilégios de sudo . Para evitar digitar sudo repetidamente:

  1. Criar um grupo do Docker (se ainda não existir): sudo groupadd docker
  2. Adicione seu usuário ao grupo: sudo usermod -aG docker $USER
  3. Aplicar as alterações: newgrp docker

Etapa 3: Executar seu primeiro contêiner

Inicie um servidor web Nginx em segundos:

docker run -d -p 8080:80 --name my-nginx nginx  

  • -d: Executar em modo destacado.
  • -p 8080:80: Mapear a porta 8080 do host para a porta 80 do contêiner.
  • --name: Atribuir um nome personalizado ao contêiner.

Verificar o acesso:

curl http://localhost:8080  

Etapa 4: Comandos essenciais do Docker

ComandoDescrição
docker psListar contêineres em execução
docker imagesVer imagens baixadas
docker stop <container-id>Parar um contêiner
docker rm <container-id>Remover um contêiner
docker rmi <image-id>Excluir uma imagem

Etapa 5: Automatizar fluxos de trabalho com o Docker Compose

Para aplicativos com vários contêineres, use Docker Compose:

  • Instalar o Docker Compose:
sudo apt install docker-compose -y
  • Crie um arquivo docker-compose.yml :
version: '3'  
services:  
  web:  
    image: nginx  
    ports:  
      - "8080:80"  

  • Iniciar a pilha:
docker-compose up -d

Práticas recomendadas para o Docker no Ubuntu

  • Atualizar o Docker regularmente:
sudo apt update && sudo apt upgrade docker-ce -y
  • Limpar recursos não utilizados:
docker system prune -a
  • Use imagens oficiais do Docker Hub para segurança e confiabilidade.

Solução de problemas comuns

  • Permissão negada: Certifique-se de que seu usuário esteja no docker  grupo.
  • Conflitos de porta: Verifique se outros serviços estão usando a mesma porta.
  • Erros ao baixar imagens: Verifique a conectividade com a internet e a ortografia do nome da imagem.

Docker versus outras ferramentas de conteinerização

Embora o Docker domine o cenário da conteinerização, conhecer as alternativas ajuda a escolher a ferramenta certa para o seu caso de uso:

FerramentaTipoPrincipais recursosIdeal para
DockerContêineres de aplicativos– Foco em empacotamento portátil e centrado em aplicativos<br>- Ecossistema enorme (Docker Hub)<br>- CLI e Compose simplesDesenvolvedores, microsserviços, fluxos de trabalho de CI/CD
LXDContêineres de sistema– Ambientes completos de sistema operacional (como VMs leves)<br>- Integração estreita com LXC/Linux<br>- Gerenciamento avançado de recursosInfraestrutura como serviço, substituição de hipervisor
PodmanContêineres de aplicativos– Arquitetura sem daemon<br>- Sem root por padrão<br>- CLI compatível com DockerCargas de trabalho com foco em segurança, computação de borda
containerdRuntime de contêiner– Runtime de baixo nível (usado por Docker/Kubernetes)<br>- Design minimalista<br>- Foco na escalabilidadeClusters do Kubernetes, implantações em larga escala
CRI-ORuntime do Kubernetes– Otimizado para CRI do Kubernetes<br>- Leve e seguro<br>- Com suporte da Red HatClusters OpenShift/OKD, operações nativas do Kubernetes
Por que o Docker ainda se destaca
  • Amigável para iniciantes: Fluxo de trabalho simplificado para desenvolvimento e teste de aplicativos.
  • Portabilidade: Os contêineres são executados de forma idêntica no macOS, Windows e Linux.
  • Suporte da comunidade: Mais de 8 milhões de imagens do Docker Hub e documentação abrangente.
Quando considerar alternativas
  • LXD: Precisa de isolamento completo do SO (por exemplo, hospedar vários serviços com usuários separados).
  • Podman: Prioriza a segurança (por exemplo, cargas de trabalho governamentais ou de saúde).
  • containerd/CRI-O: Criar infraestrutura nativa do Kubernetes.

Conclusão

Seguindo este guia, você instalou o Docker no Ubuntu Server e implantou seu primeiro aplicativo conteinerizado. A flexibilidade do Docker o torna indispensável para DevOps, desenvolvimento nativo da nuvem e ambientes híbridos. Explore recursos avançados como Docker Swarm ou integração com o Kubernetes para escalar suas cargas de trabalho de contêineres.

Referência: Documentação oficial do Docker

E agora? Prepare-se para explorar o LXD para contêineres Linux

Agora que você domina o Docker para conteinerização de aplicativos, vamos nos aprofundar no mundo dos contêineres de sistema Linux! Fique atento para nosso próximo guia:

“Introdução ao LXD para contêineres Linux: virtualização leve simplificada“

2 thoughts on “20. How to Install Docker on Ubuntu Server: A Step-by-Step Guide to Containerization”

Deixe um comentário