Como instalar o Docker no Ubuntu Linux

O Docker conquistou a indústria de engenharia de software de assalto e não só revolucionou a maneira como enviamos e implantamos software, mas também mudou a forma como os engenheiros configuram ambientes de desenvolvimento de software em seus computadores.

Este guia mostra como começar a usar o Docker instalando-o no Ubuntu Linux 20.04 (Focal Fossa), a versão mais recente do Long Term Support (LTS) do Ubuntu no momento em que este livro foi escrito.

Vantagens do Docker

Docker é uma plataforma de código aberto que permite automatizar e implantar aplicativos como pacotes autônomos, conhecidos como contêineres. O Docker usa a tecnologia de virtualização do sistema operacional, mas, ao contrário das máquinas virtuais, é muito mais leve nos recursos do sistema.

Algumas das principais vantagens do Docker incluem:

  • Relativamente fácil de usar e aprender
  • Fornece uma maneira consistente e fácil de implantar software
  • Compatível com arquitetura de microsserviço
  • Muito leve no uso de recursos

Configurando o Repositório de Software Docker

Existem vários métodos de instalação do Docker, e este guia mostrará como instalar o Docker a partir dos repositórios do Docker usando o utilitário de comando apt. Instalar o Docker dessa maneira permite que você atualize facilmente o pacote do Docker no futuro e também é a abordagem recomendada pela equipe do Docker.

A primeira etapa da instalação é adicionar o repositório de software Docker à sua lista de fontes de software. Você usará o repositório de software Docker sobre HTTPS e, em seguida, instalará o software necessário usando o comando abaixo.

Como boa prática, primeiro atualize sua lista de pacotes de software disponíveis.

 sudo apt update

Em seguida, baixe todas as dependências necessárias para a instalação usando apt install .

 sudo apt install apt-transport-https ca-certificates curl gnupg lsb-release

O software Docker usa GnuPG, também conhecido como GPG, para proteger a comunicação ao baixar pacotes de software de seu repositório. GPG é um padrão de implementação de PGP (Pretty Good Privacy) que é usado para criptografar mensagens ou dados .

Para adicionar a chave oficial do Docker GPG aos seus chaveiros locais, use o seguinte comando.

 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

O Docker tem três versões de lançamento de software principais em seus repositórios de software: versão estável, versão de teste e a versão de lançamento noturna. Este guia falará sobre a versão de lançamento estável do Docker.

Execute o seguinte comando para usar a versão de lançamento do repositório estável do Docker.

 echo "deb [arch=amd64 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

Nota : O comando mencionado pressupõe que você esteja usando a arquitetura AMD. Se por acaso estiver usando a arquitetura ARM, você pode substituir a palavra arch = amd64 no comando acima por arch = arm64, ou arch = armhf se estiver usando arm hard float.

Instalando o Docker Engine

Agora que você configurou o repositório de software Docker, pode prosseguir com a instalação do Docker Engine, que é o núcleo do gerenciamento e execução de contêineres Docker. Outros componentes importantes que compõem o Docker Engine incluem Docker Client, containerd, runc e o Docker daemon.

Certifique-se de atualizar suas fontes de pacote usando o comando abaixo, porque você adicionou recentemente o repositório Docker à sua lista de fontes de software.

 sudo apt update

Para instalar o Docker Engine, execute o seguinte comando. O comando instalará por padrão a versão estável mais recente do Docker Engine.

 sudo apt-get install docker-ce docker-ce-cli containerd.io

Se você deseja instalar alguma versão específica do Docker, você pode primeiro verificar a lista de versões disponíveis usando o comando abaixo.

 apt-cache madison docker-ce

Você pode então instalar a versão específica do Docker usando o seguinte comando. Por exemplo, para instalar 5: 20.10.6 ~ 3-0 ~ ubuntu-focal :

 sudo apt-get install docker-ce=5:20.10.6~3-0~ubuntu-focal docker-ce-cli=5:20.10.6~3-0~ubuntu-focal containerd.io

Confirmando a instalação

Para verificar se o Docker foi instalado com sucesso, você pode executar o seguinte comando e ele irá mostrar o número da versão do Docker Engine instalado.

 docker -v

No Ubuntu Linux e na maioria das distros baseadas em Debian, o serviço Docker será iniciado automaticamente quando o sistema inicializar.

Você pode tentar executar a imagem do Docker hello-world para testar a instalação. Como a imagem não está disponível localmente em seu computador, o sistema irá baixá-la do Docker Hub, uma biblioteca de imagens de contêiner. Na próxima vez que você executar a imagem novamente, ela usará a cópia local que está no seu PC.

 sudo docker run hello-world

Executando o Docker como um usuário não root

No momento, você só pode executar contêineres do Docker como um superusuário, é por isso que sudo é usado no comando acima. O Docker daemon se liga a um soquete Unix que, por padrão, pertence ao usuário root e os usuários não root podem acessá-lo apenas por meio de sudo.

Para poder executar contêineres Docker e outros comandos importantes sem ser um superusuário, primeiro você precisa criar um grupo de usuários denominado docker e, em seguida, adicionar seu usuário ao grupo docker em sua máquina. O comando groupadd é responsável por gerenciar grupos de usuários no Linux .

 sudo groupadd docker
 sudo usermod -aG docker $USER

Use o comando abaixo para ativar as mudanças de grupo.

 newgrp docker

Nota : Lembre-se de fazer logout e login novamente para que o sistema reconheça a associação de grupo recém-criada. Você pode usar o seguinte comando para fazer logout.

 gnome-session-quit

Em alguns casos, pode ser necessário reiniciar sua máquina se você ainda não conseguir executar o comando Docker como um usuário não root.

Desinstalando o Docker

Para remover ou desinstalar o Docker Engine do Ubuntu Linux, basta executar o seguinte comando.

 sudo apt remove docker docker-engine docker.io containerd runc

Embora o Docker Engine tenha sido removido, outros arquivos associados ao Docker, como imagens, contêineres, volumes ou arquivos de configuração personalizados, não são removidos automaticamente. Você pode excluir esses arquivos usando o utilitário rm .

 sudo rm -rf /var/lib/docker
 sudo rm -rf /var/lib/containerd

Docker na prática

Este guia mostra como instalar e configurar o Docker no Ubuntu Linux. Além disso, mostra como executar uma imagem simples do docker obtida no Docker Hub.

O Docker é uma ferramenta muito versátil e possui muitos casos de uso em engenharia de software. Se você é um engenheiro de software ou trabalha com DevOps, o Docker simplificará a maneira como você implanta software em diferentes ambientes e é útil para teste e prototipagem de software.