Instalando Docker Engine no Linux

Linux  

Tutorial baseado em Install Docker Engine on Debian e executado no sistema operacional Debian Buster de 64bits.



1. Desinstalando Versões Antigas


Antes de começar é bom remover versões antigas do Docker Engine instaladas. Para isso execute o comando abaixo:

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

Caso não tenha versões antigas o apt-get vai relatar que nenhum desses pacotes está instalado.

O conteúdo de /var/lib/docker/, incluindo imagens, containers, volumes e redes, é preservado. O pacote do Docker Engine agora é denominado docker-ce.


2. Configurando o Repositório


Execute os comandos abaixo para permitir que o apt use um repositório sobre HTTPS:

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

Adicione a chave GPG oficial do Docker

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

Use o seguinte comando para configurar o repositório estável:

echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Como adicionamos um repositório, vamos atualizar as informações do banco de dados de pacotes:

sudo apt update


3. Instalando Docker Engine


Execute os comandos abaixo para instalar os pacotes do Docker Engine:

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


4. Configurando Proxy da Rede


Este é um passo opcional, só faça se estiver utilizando um proxy no ambiente Linux.

Se você estiver usando um proxy vai precisa configurar as variáveis de ambiente HTTP_PROXY e HTTPS_PROXY.

Existem algumas maneiras de executar isso, vamos fazer através do systemd.

Primeiro crie o diretório docker.service.d com o comando abaixo:

sudo mkdir -p /etc/systemd/system/docker.service.d

Crie dentro deste diretório o arquivo http-proxy.conf contendo as informações abaixo. Substitua proxy.example.com:80 e proxy.example.com:443 com as informações do seu servidor proxy:

[Service]
Environment="HTTP_PROXY=http://proxy.example.com:80"
Environment="HTTPS_PROXY=https://proxy.example.com:443"

Recomendo sempre configurar ambas as variáveis, caso não possua um proxy diferenciado para o HTTPS_PROXY use o mesmo valor do HTTP_PROXY.

Em seguida, basta aplicar as alterações e reiniciar o docker com os comandos:

sudo systemctl daemon-reload

sudo systemctl restart docker


5. Verificando a Instalação


Agora já podemos verificar se o Docker Engine está instalado corretamente.

Para isso vamos executar a imagem hello-world com o comando abaixo:

sudo docker run hello-world

Este comando baixa uma imagem de teste e a executa em um container. Quando o container é executado, ele imprime uma mensagem e sai.

Se tudo estiver correto, ao executar a imagem hello-world você vai ter uma saída como da figura abaixo:

Imagem Hello-World do Docker Engine



6. Gerenciar o Docker como um Usuário Não Root


Se você não quiser usar o docker com sudo, basta adicionar usuários ao grupo docker.

Adicionando o usuário atual ao grupo docker:

sudo usermod -aG docker $USER

Execute o comando a seguir para ativar as mudanças no grupo:

newgrp docker

Verifique se você pode executar comandos docker sem sudo com a imagem hello-world:

docker run hello-world

Se tiver erros de permissões referente ao diretório ~/.docker/, execute os comandos abaixo:

sudo chown "$USER":"$USER" /home/"$USER"/.docker -R

sudo chmod g+rwx "$HOME/.docker" -R


7. Desinstalando o Docker Engine


Desinstale os pacotes Docker Engine, CLI e Containerd:

sudo apt purge docker-ce docker-ce-cli containerd.io -y

Imagens, containers, volumes ou arquivos de configuração customizados em seu host não são removidos automaticamente.

Para excluir todas as imagens, containers e volumes:

sudo rm -rf /var/lib/docker

sudo rm -rf /var/lib/containerd


Compartilhe!