Instalação rápida e simples do Docker

Docker não é o único serviço de contêineres que temos no mundo Linux, mas certamente é o mais popular e toda distribuição atual já possui um método de instalação próprio mas que muitas vezes te entrega uma versão que não é a mais recente. O que segue então é um método rápido e simples para manter a última versão do Docker instalada em praticamente qualquer distribuição Linux.

Aqui no blog eu já escrevi alguns artigos com funcionalidades e exemplos de uso do Docker, mas em todos eu considerei que esta ferramenta já estivesse instalada no sistema. Este então é o método que costumo usar em minhas máquinas para que o ambiente esteja sempre funcional e atualizado.

Baixando e executando o instalador

O procedimento a seguir é o recomendado na documentação oficial do projeto e requer o download e execução de um script instalador que funciona nas principais distribuições Linux.

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

Uma observação importante: Se você já tiver instalado o Docker por outros meios é recomendável que o desinstale antes para evitar conflito. Veja na documentação oficial os procedimentos para cada distribuição.

Autorizando usuários comuns a executarem o Docker

Tão logo o Docker esteja instalado, somente o usuário root terá permissão para executar seus comandos, o que não é recomendável para o dia-a-dia.

É necessário adicionar o seu usuário (ou qualquer outro que usará o Docker) no grupo “docker” (criado durante a instalação) para poder gerenciar seus conteineres sem precisar usar o “sudo”.

sudo usermod -aG docker $USER

O comando acima adicionará seu usuário a este grupo (“docker”), se precisar que outro usuário tenha permissão, troque o $USER pelo seu login.

Importante: A inclusão/alteração de grupos só ocorrerá após fazer novo login no sistema. Se estiver em uma máquina com ambiente gráfico (seu desktop, por exemplo) será necessário sair do ambiente gráfico também.

Uma forma de contornar este logoff, paliativamente, é usar o comando abaixo que iniciará uma nova sessão dentro do seu terminal onde, somente nele, você já pertencerá ao grupo docker e poderá executar comandos a partir dele.

newgrp docker

Testando a sua nova instalação

Um teste bem trivial para sabermos se a sua instalação foi bem sucedida é verificar se a versão do Docker é retornada corretamente, como no exemplo abaixo.

docker version

Client: Docker Engine - Community
 Cloud integration: v1.0.33
 Version:           24.0.2
 API version:       1.43
 Go version:        go1.20.4
 Git commit:        cb74dfc
 Built:             Thu May 25 21:51:00 2023
 OS/Arch:           linux/amd64
 Context:           default

Server: Docker Engine - Community
 Engine:
  Version:          24.0.2
  API version:      1.43 (minimum version 1.12)
  Go version:       go1.20.4
  Git commit:       659604f
  Built:            Thu May 25 21:51:00 2023
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.21
  GitCommit:        3dce8eb055cbb6872793272b4f20ed16117344f8
 runc:
  Version:          1.1.7
  GitCommit:        v1.1.7-0-g860f061
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

Se você viu uma mensagem como a mostrada acima e sem erros, então o Docker está instalado.

Executando o seu primeiro contêiner

Se preferir um teste mais efetivo, já é possível executar qualquer contêiner na sua máquina.

No exemplo abaixo é feito do download da imagem oficial do Apache2 e iniciado um novo contêiner chamado “meu-apache”

docker run --rm --name meu-apache --publish 8080:80 httpd

Unable to find image 'httpd:latest' locally
latest: Pulling from library/httpd
f03b40093957: Pull complete 
abaf8619eb1c: Pull complete 
e3fe37d0c2ad: Pull complete 
52a1e37affe5: Pull complete 
49d8a68fd903: Pull complete 
Digest: sha256:1bb3f7669a85713906e695599d29c58ab40d4e6409907946609d92a428e95b49
Status: Downloaded newer image for httpd:latest
[...]
[Tue Jun 20 16:48:12.945862 2023] [core:notice] [pid 1:tid 139735396248896] AH00094: Command line: 'httpd -D FOREGROUND'

Você poderá acessar o endereço http://localhost:8080 a partir do seu navegador e deverá ver uma página padrão dizendo que tudo funcionou.

Para encerrar, basta teclar CTRL-C no terminal onde o comando foi executado.

Para remover a imagem baixada e liberar espaço na sua máquina basta remove-la com o comando a seguir:

docker image rm httpd

Conclusão

Atualmente conhecer o básico para criar e gerenciar contêineres em Docker é o mínimo que se espera, não só de um desenvolvedor que queira embarcar na onda do “Devops”, mas de qualquer administrador Linux e curiosos de plantão que gostem de testar serviços diferentes em sua máquina.

Neste texto eu mostrei apenas o procedimento para instalar o Docker “vanila” (aquele distribuído oficialmente pelo projeto) em sua distribuição Linux, mas como disse, embora haja outros métodos, a vantagem desta instalação é que seu sistema estará sempre com a última versão disponível no projeto.

Vale lembrar ainda que o Docker é somente a “ponta do icebergue” que é o tema contêineres e microsserviços. Para operar um ou dois contêineres independentes ele atende bem, mas se você pretende subir um sistema completo que envolva bases de dados, webservices, cache etc, neste caso você precisará de algo mais. Mas isso ficará para a próxima.

Até lá.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.