Instalação do Docker CE no Ubuntu 18.04

  1. Informações do Sistema

Verifique a versão e os detalhes do kernel do seu sistema Ubuntu.

# Saída do comando uname -a
$ uname -a
Linux myhost 5.3.0-45-generic #37~18.04.1-Ubuntu SMP Fri Mar 27 15:58:10 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

# Informações do arquivo version
$ cat /proc/version
Linux version 5.3.0-45-generic (buildd@lcy01-amd64-027) (gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)) #37~18.04.1-Ubuntu SMP Fri Mar 27 15:58:10 UTC 2020
  1. Instalação do Docker

2.1. Permissões de Usuário

Configure permissões de sudo sem senha para seu usuário de operação, facilitando a execução de comandos administrativos.

# Adicione a entrada no sudoers (substitua 'seu_usuario')
sudo visudo -f /etc/sudoers.d/seu_usuario
# Insira a linha: seu_usuario ALL=(ALL) NOPASSWD:ALL
# Ou edite diretamente com precaução
sudo chmod u+w /etc/sudoers
# Use um editor para adicionar a permissão
sudo chmod u-w /etc/sudoers

2.2. Configuração de Repositórios

Altere o repositório padrão do apt para um espelho local, como o da Universidade de Ciência e Tecnologia da China (USTC), para downloads mais rápidos.

# Crie um backup do arquivo sources.list original
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

# Substitua o domínio do repositório padrão pelo espelho
sudo sed -i 's|archive.ubuntu.com|mirrors.ustc.edu.cn|g' /etc/apt/sources.list

2.3. Procedimento de Instalação do Docker Engine

Siga estas etapas para instalar a versão estável mais recente do Docker CE.

# Remova versões antigas do Docker (opcional para instalação limpa)
sudo apt-get remove docker docker-engine docker.io containerd runc

# Atualize a lista de pacotes do apt
sudo apt-get update

# Instale pacotes para permitir o uso de repositórios HTTPS
sudo apt-get install -y \
    apt-transport-https \
    ca-certificates \
    curl \
    software-properties-common

# Adicione a chave GPG oficial do Docker
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

# Adicione o repositório estável do Docker CE ao seu sistema
sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"

# Atualize novamente o cache do apt e instale o Docker CE
sudo apt-get update
sudo apt-get install -y docker-ce

# Habilite o serviço do Docker para iniciar na inicialização e inicie-o
sudo systemctl enable docker
sudo systemctl start docker

# Permita que seu usuário atual execute comandos Docker sem sudo
sudo usermod -aG docker ${USER}
# Ative as novas permissões no shell atual
newgrp docker

2.4. Verificação da Instalação

Confirme que a instalação foi bem-sucedida verificando a versão do cliente e do servidor do Docker.

$ docker version
# A saída mostrará detalhes do cliente e do servidor, por exemplo:
# Client: Docker Engine - Community
#  Version:           20.10.x
# Server: Docker Engine - Community
#  Engine:
#   Version:          20.10.x
#   API version:      1.41
  1. Aceleração de Imagens com Espelhos

Para usuários na China, configurar um espelho de registro pode acelerar significativamente o download de imagens. Edite ou crie o arquivo de configuração do daemon do Docker.

# Crie o diretório de configuração se não existir
sudo mkdir -p /etc/docker

# Crie o arquivo de configuração com o endereço do espelho
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://registry.docker-cn.com", "https://docker.mirrors.ustc.edu.cn"]
}
EOF

# Recarregue as configurações do systemd e reinicie o Docker
sudo systemctl daemon-reload
sudo systemctl restart docker
  1. Teste de Funcionamento

Execute um container de teste simples para validar a instalação completa.

# Execute a imagem de teste oficial
$ docker run --rm hello-world

# A mensagem de saída confirma o contato com o daemon, o download da imagem e a execução do container.

# Liste as imagens disponíveis localmente
$ docker images
# REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
# hello-world   latest    feb5d9fea6a5   6 months ago   13.3kB

# Liste todos os containers (ativos e parados)
$ docker ps -a
# CONTAINER ID   IMAGE         COMMAND    CREATED          STATUS                      PORTS     NAMES
# a1b2c3d4e5f6   hello-world   "/hello"   30 seconds ago   Exited (0) 29 seconds ago             festive_saha
  1. Instalação do Docker Compose

Docker Compose é uma ferramenta para definir e executar aplicações Docker com múltiplos containers.

# Baixe o binário do Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

# Torne o binário executável
sudo chmod +x /usr/local/bin/docker-compose

# Verifique a instalação
$ docker-compose --version
# docker-compose version 2.x.x, build xxxxxxx
  1. Solução de Problemas Comuns

6.1. Processos do Apt Bloqueados

Se comandos do apt falharem com erros de lock, siga este procedimento.

# Encontre e mate processos do apt travados
sudo kill -9 $(ps aux | grep -i '[a]pt' | awk '{print $2}')

# Remova os arquivos de lock do sistema
sudo rm -f /var/lib/dpkg/lock
sudo rm -f /var/lib/dpkg/lock-frontend
sudo rm -f /var/cache/apt/archives/lock
sudo rm -f /var/lib/apt/lists/lock

6.2. Erros de Conexão ao Docker Hub

Se comandos como docker search ou docker pull falharem com erros de DNS ou timeout, considere estas soluções:

  1. Configurar DNS no Host: Adicione uma entrada no /etc/hosts apontando registry-1.docker.io para um IP válido, encontrado via nslookup.
  2. Alterar o Servidor DNS do Sistema: Modifique o arquivo /etc/resolv.conf para usar servidores públicos (ex: 8.8.8.8, 114.114.114.114).
  3. Usar Espelhos do Docker: Garanta que a configuração do registry-mirrors no /etc/docker/daemon.json (descrita na seção 3) esteja ativa.

Referências

Tags: Docker Ubuntu contêineres Linux APT

Publicado em 7-3 16:51