Instalação do Docker no Ubuntu

Abaixo um tutorial passo a passo de como fazer a instalação do Docker no Ubuntu

Docker é um sistema de virtualização um pouco diferente, ele virtualiza um sistema operacional e entrega isso dentro de um contêiner.

Cada contêiner tem sua própria configuração, softwares e arquivos, eles trabalham de forma isolada, entretanto compartilha recursos do host onde eles estão hospedados.

Com isso e possível executar vários contêineres em um único servidor, com cada contêiner sendo gerenciado individualmente e com seu próprio comportamento.

Exemplos de uso Docker

Com cada vez mais o uso de soluções baseadas em micro serviços, essa ferramenta tem sido essencial para que esse tipo de infra estrutura seja viável, pois em um servidor onde geralmente seria executado uma aplicação, podemos usar o conceito de contêineres e aplicar inúmeras aplicações se comunicando entre si.

O uso dessa ferramenta permite uma escalabilidade de infra estrutura com uma diminuição considerável de recursos e custo.

Um dos usos que ganha cada vez mais força é com desenvolvedores simulando ambientes em suas próprias máquinas, um desenvolvedor que precisa integrar sua aplicação com um banco de dados ao invés de fazer a instalação do banco em sua maquina pode optar por executar um contêiner com esse mesmo banco, deixando toda a configuração isolada e podendo compartilhar com membros da equipe a mesma configuração.

Instalação do Docker

Todo o procedimento será feito através do terminal, e como a ferramenta está disponível nos pacotes oficiais do Ubuntu, é possível fazer a instalação usando o próprio gerenciador de pacotes do Ubuntu.

Abra o terminal e execute o comando para atualizar os pacotes do seu sistema operacional

sudo apt-get update
Terminal

Agora vamos instalar os pacotes de pré requisito, esses pacotes habilitaram o o HTTPS do apt.

sudo apt install apt-transport-https ca-certificates curl software-properties-common
Terminal

Agora é necessário adicionar a chave oficial do repositório junto as configurações do seu apt.

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Terminal

O próximo passo é adicionar o repositório na lista de fontes

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
Terminal

Agora vamos fazer o gerenciador de pacotes ler a alteração

sudo apt-get update
Terminal

Agora sim vamos fazer a instalação usando o comando.

sudo apt install docker-ce
Terminal

Aguarde a instalação concluir todos os passos, e verifique se a instalação concluiu com sucesso executando o comando

sudo systemctl status docker
Terminal

O resultado desse comando deve ser algo parecido com isso

 docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset>
     Active: active (running) since Fri 2022-11-18 14:25:26 -03; 5 days ago
TriggeredBy:  docker.socket
       Docs: https://docs.docker.com
   Main PID: 1487 (dockerd)
      Tasks: 10
     Memory: 18.5M
        CPU: 54.335s
     CGroup: /system.slice/docker.service
             └─1487 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/cont>

nov 18 14:25:25 notebook dockerd[1487]: time="2022-11-18T14:25:25.390060966-03:0>
nov 18 14:25:25 notebook dockerd[1487]: time="2022-11-18T14:25:25.390079414-03:0>
nov 18 14:25:25 notebook dockerd[1487]: time="2022-11-18T14:25:25.439005841-03:0>
nov 18 14:25:25 notebook dockerd[1487]: time="2022-11-18T14:25:25.466406561-03:0>
nov 18 14:25:26 notebook dockerd[1487]: time="2022-11-18T14:25:26.058765762-03:0>
nov 18 14:25:26 notebook dockerd[1487]: time="2022-11-18T14:25:26.162379200-03:0>
nov 18 14:25:26 notebook dockerd[1487]: time="2022-11-18T14:25:26.240082044-03:0>
nov 18 14:25:26 notebook dockerd[1487]: time="2022-11-18T14:25:26.240826491-03:0>
nov 18 14:25:26 notebook systemd[1]: Started Docker Application Container Engine.
nov 18 14:25:26 notebook dockerd[1487]: time="2022-11-18T14:25:26.298159093-03:0>
lin
Terminal

Note que agora quando você vai executar o comando docker é necessário usar o “sudo”, esse e um comportamento padrão da instalação, mas que pode ser alterado para usar o comando direto, sem a necessidade do sudo.

Como usar o comando “docker” sem o sudo

Para conseguir usar o comando sem a necessidade do sudo, precisamos adicionar o seu usuário no grupo de permissões.

sudo usermod -aG docker ${USER}
Terminal

Agora que seu usuário está no grupo, tente executar o comando sem o sudo.

Importante! dependendo da versão da distro, as vezes é necessário reiniciar o sistema, para que a alteração seja efetiva, para isso você pode reiniciar normalmente ou usar o comando:

sudo reboot
Terminal

Caso haja a necessidade de adicionar outro usuário basta fazer o comando abaixo, lembrando de substituir <nome-do-usuario> pelo nome expresso do usuário que pretende adicionar.

sudo usermod -aG docker <nome-do-usuario>
Terminal

Repositório de imagens

Agora que você concluiu a instalação e configuração, pode querer criar seus contêineres, um lugar bem interessante de você pesquisar imagens que esteja querendo é no Docker Hub, nele são disponibilizados imagens oficiais de quase todas as ferramentas e sistemas operacionais do mercado, e além disso sua instalação tem acesso direto a esse repositório e pode baixar qualquer imagem pública que esteja hospedado lá.

Fazendo download de imagem do repositório

Para que você consiga construir seu contêiner é necessário uma imagem, para você conseguir baixar uma imagem do Dockerhub basta usar o comando pull, sua sintaxe fica desse jeito:

docker pull <nome-da-imagem>:<tag>
Terminal

A tag é opcional, no caso de não passar a tag ele fará download da versão que está como default no repositório.

Exemplificando vamos fazer o download da imagem do Nginx

docker pull nginx
Terminal

Após aguardar o download da imagem, você pode verificar se ela está no seu repositório local usando o comando abaixo:

docker images
Terminal

Para testar se os contêineres estão subindo normalmente na sua instalação vamos criar um contêiner do próprio Nginx. Para isso basta executar o comando abaixo.

docker run --name nginx -d -p 8080:80 nginx 
Terminal

Após executar o comando podemos verificar se o contêiner está em execução usando o comando.

docker ps
Terminal

Você verá uma saída no terminal semelhante a essa.

CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS                                   NAMES
85fd5ff4ab22   nginx     "/docker-entrypoint.…"   5 minutes ago   Up 5 minutes   0.0.0.0:8080->80/tcp, :::8080->80/tcp   nginx
Terminal

Para ver o Nginx funcionando você pode acessar o seu browser e inserir o endereço http://localhost:8080, pois quando lançamos o contêiner mapeamos a porta 80 do Nginx para a porta 8080 da sua maquina.

Conclusão

O uso dessa ferramenta, pode facilitar muito o desenvolvimento de novas aplicações, replicando ambientes com baixo custo, o seu uso nas principais Clouds e sua facilidade de tê-lo instalado na maquina local com poucos recursos, faz dessa ferramenta quase uma unanimidade dos profissionais de tecnologia.

Para conhecer mais não deixe de acessar nossa sessão de artigos.

Links uteis

Mauricio Lima
Mauricio Lima

Bacharel em Ciência da Computação, profissional dedicado ao desenvolvimento de software e entusiasta da tecnologia.

Artigos: 65