Instalando o Docker Engine CE no Ubuntu.
Tags: devops, docker, tutorial, beginners
Published: 2022-06-11 03:10:41

A finalidade desse tutorial é explicar como instalar o Docker CE em uma distribuição Linux Ubuntu para as versões LTS 22.04, 20.04 e 18.04. O Docker é uma plataforma aberta com um mecanismo de execução de container que permite empacotar seus aplicativos com todas as suas dependências em uma unidade padronizada para desenvolvimento, distribuição e execução de softwares. Atualmente já existe uma versão do Docker Desktop para distribuições linux, mas vamos fazer a instalação através de linha de comando no terminal do Ubuntu e em outro tutorial eu explico como instalar e configurar o DocKer Desktop no Ubuntu.

Primeiramente você vai precisar fazer a atualização do sistema através do seguinte comando:

```
sudo apt update -y
```

Antes de seguimos para a instação do Docker CE, exitem algumas dependências que precisam ser instaladas para configurar os repositórios do Docker e para permitir a instalação real do pacote de instalação do docker. Para instalar essas dependências execute o comando abaixo:

```
sudo apt install ca-certificates curl gnupg lsb-release -y
```

Outra ação importante é verificar se existe uma versão mais antiga do docker instalada no seu sistema operacional. Caso exista, será necessário removê-la executando o seguinte comando:

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

Pronto, se foi removido ou não uma versão antiga do docker precisamos importar uma chave GPG oficial do repositório Docker. GPG (Gnu Privacy Guard) é uma implementação do OpenPGP (Open Pretty Good Privacy) que é uma técnica de criptografia utilizada como assinatura de código para repositórios de código Linux e repositórios de código-fonte como o GitHub e o GitLab. Para obter a chave GPG é necessário executar o seguinte comando:

```
sudo mkdir -p /etc/apt/keyrings && curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
```

Agora você já pode configurar o repositório do Docker no seu sistema através do comando abaixo:

```
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
```

E finalmente instalar o Docker Enginer CE, só que não (rs), primeiro é necessário atualizar o indice do pacote apt e então depois fazer a instalação da última versão disponível do Docker Engine, containerd e Docker Compose executando o seguinte comando no seu terminal: 

```
sudo apt update && \
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
```

**containerd** é um _daemon_ para Linux e Windows que tem como principal funcionalidade fazer o gerenciamento completo do ciclo de vida do contêiner de seu sistema _host_, desde a transferência e armazenamento de imagens até a execução e supervisão do contêiner, até o armazenamento de baixo nível, os anexos de rede e muito mais. 

**Docker Compose** é uma ferramenta para definir e executar aplicativos Docker de vários contêineres. Irei explicar isso com mais detalhes e com exemplos em outro artigo. 

E agora para fechar com chave de ouro, vamos verificar se o Docker Engine foi instalado corretamente ¨rodando¨ a imagem **hello-word**. O comando abaixo vai fazer _download_ da imagem de teste e executar ela em um contêiner. Quando o contêiner for executado será exebido uma menssage e depois ele será finalizado.

```
sudo docker run hello-world
```

Aqui está o resultado final da execução do contêiner:

![Terminal Linux](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cvcijyn8dqts06ymdtns.png) 


**Referências:**
- [Docker](https://docs.docker.com/)
- [containerd](https://containerd.io/)
- GOMES, Rafael. docker para Desenvolvedores. Salvador: 9 Bravos, 2007


Fim! :-)