# Instalação Debian/Ubuntu

Instalação em uma máquina `Debian` ou distribuição baseada em sistemas `Debian`.

#### Pré-requisito

Acesso de `sudo` na máquina em que será executada a instalação.

#### Repositório

Definindo o repositório docker do `apt`:

```bash
# Adicioando a chave GPG oficial do Docker:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Adicionando o repositório APT dos pacotes do Docker:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# Atualizando a lista local de pacotes no sistema:
sudo apt-get update
```

#### Instalação

Instalando os pacotes:

```bash
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
```

Permissão

Adicionando permissão para que o seu usuário no sistema **não** necessite de `sudo` para executar os comandos docker:

```bash
# adicionando o seu usuário ao grupo do docker:
sudo usermod -aG docker $USER
```

<p class="callout warning">**Importante**: depois de adicionar o seu usuário ao grupo docker, é necessário **recarregar a sessão** (deslogar e logar novamente com o seu usuário ou reiniciar o sistema) para que essas alterações sejam aplicadas.</p>

Teste se é possível acessar os comandos docker sem a necessidade de sudo:

```bash
docker ps
```

#### Testando

Testando se o pacote `docker` foi instalado corretamente:

```bash
docker run hello-world
```

Saída esperada:

```bash
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
c1ec31eb5944: Pull complete 
Digest: sha256:94323f3e5e09a8b9515d74337010375a456c909543e1ff1538f5116d38ab3989
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

(...)
```

#### Referências

[Instalar o Docker Engine no Debian](https://docs.docker.com/engine/install/debian/#install-using-the-repository)