Como instalar e começar a usar o Docker no Linux (Ubuntu), Windows e Mec

Como instalar e começar a usar o Docker no Linux (Ubuntu), Windows e Mec

O Docker é uma ferramenta que nos permite criar e gerenciar containers, que são ambientes isolados rodando uma determinada aplicação. Em uma máquina podemos ter vários containers rodando simultaneamente, sendo possível se comunicar com cada um deles através de uma determinada porta.

Um container é uma instância criada a partir de uma imagem. No Docker Hub podemos encontrar imagens oficiais de diversas aplicações como servidores, sistemas, bancos de dados, etc.

No mundo do desenvolvimento web, o Docker pode ser muito útil quando utilizamos ferramentas de terceiros e queremos que cada uma delas rode de maneira independente e isolada em nossa máquina. Dentre algumas utilidades do Docker, podemos destacar:

  • Criar vários containers a partir de diferentes imagens de uma mesma aplicação como, por exemplo, rodar 2 versões diferentes de um banco de dados.
  • Criar vários containers a partir da mesma imagem (uma para testes e outra para produção).
  • Rodar aplicações semelhantes (vários bancos de dados diferentes, como: MySQL, PostgreSQL e MongoDB), uma em cada container.

Com o Docker, podemos também criar nossas próprias imagens, com instruções específicas para instalar um sistema que acabamos de desenvolver, incluindo suas dependências e configurações. Desta forma poderíamos subir nossa imagem na nuvem para que outro desenvolvedor pudesse executar nosso sistema, em sua máquina ou servidor, com praticamente 1 comando!

Como instalar o Docker no Windows e no Mac

Para instalar o Docker no Windows / Mac é necessário apenas fazer o download do arquivo de instalação oferecido no site oficial do Docker em Get Started e executar em sua máquina.

Como instalar o Docker no Linux (Ubuntu)

O requerimento mínimo para instalar o Docker no Ubuntu é possuir uma versão 64-bit de um dos sistemas abaixo:

  • Ubuntu Eoan 19.10
  • Ubuntu Bionic 18.04 (LTS)
  • Ubuntu Xenial 16.04 (LTS)

Para iniciar devemos tentar remover versões antigas do Docker por precaução. Para todos os códigos a seguir utilizaremos o terminal.

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

Após remover versões antigas vamos atualizar o apt-get:

sudo apt-get update

E instalar algumas dependências:

sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common

Adicionar então a chave GPG oficial do Docker:

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

E usar os últimos 8 dígitos da chave:

sudo apt-key fingerprint 0EBFCD88

O próximo comando serve para setar o repositório estável do Docker. O código a seguir serve para arquiteturas x86_64 / amd64 (para outras arquiteturas consultar a página oficial).

sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"

Em seguida vamos atualizar o apt-get novamente:

sudo apt-get update

Enfim, instalar o Docker:

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

Pronto! Agora o Docker já deve estar rodando em sua máquina. Para testar podemos utilizar o código a seguir para instalar uma imagem teste em um container.

sudo docker run hello-world

Se baixar a imagem significa que está tudo OK.

Como usar o Docker sem precisar digitar sudo em cada instrução

O comando abaixo não é obrigatório, mas serve para poder utilizar os comandos do Docker como non-root user (sem precisar digitar o sudo antes).

Vamos então criar um grupo:

sudo groupadd docker

Adicionar o usuário:

sudo usermod -aG docker $USER

E ativar as mudanças no grupo:

newgrp docker 

Pronto! Agora podemos rodar os comandos do Docker sem precisar digitar sudo.

Começando com o Docker

Vou listar aqui alguns dos comandos para quem quer começar a usar o Docker.

O primeiro código será como criar um novo container a partir de uma imagem do Docker Hub.

docker run --name nome-do-meu-novo-container -d mongo

O docker run serve para rodar um comando em um novo container, –name para informarmos o nome do que vamos dar pro container e -d para informar a imagem que será utilizada, neste exemplo utilizamos o banco de dados MongoDB. Outros parâmetros podem aparecer como no caso da instalação padrão do PostgreSQL:

docker run --name nome-do-meu-container -e POSTGRES_PASSWORD=minha-senha -d postgres

Após criar os seus primeiros containers, os comandos a seguir serão necessários para a gestão básica dos mesmos.

docker start nome-do-container

Serve para iniciar um ou mais containers.

docker stop nome-do-container

Serve para parar um ou mais containers.

docker ps

Lista todos os containers que estão em execução.

docker ps --filter "status=exited"

Lista todos os containers que não estão em execução.

docker container rm nome-do-container

Remove um ou mais containers.

Caso queira conhecer mais comandos recomendo a leitura da página oficial dos comandos do Docker.

Instalando o Docker em outros sistemas Linux

Neste artigo não vou entrar em detalhes de como instalar o Docker em outros sistemas, mas caso você tenha curiosidade ou necessidade recomendo a leitura dos guias de instalação disponíveis no site oficial do Docker.

Referências