Introdução

O Docker é uma ferramenta que nos auxilia na criação de contêineres. Mas se você não sabe o que é um contêiner pode estar meio confuso agora. Então vamos do começo?

O que são contêineres?

Contêiner é um ambiente no qual você consegue rodar aplicações isoladamente. Além disso, os contêineres são isolados uns dos outros e agrupam seus próprios dados, softwares, bibliotecas e configurações.

Representação de Contêineres docker
Representação de Contêineres

O contêiner funciona da mesma forma que uma máquina virtual, porém, ele é muito mais leve. Ou seja, consome muito menos recursos da máquina hospedeira.

Cirando um contêiner no Docker

Podemos criar um contêiner de várias maneiras, nesse artigo utilizaremos a linha de comando (terminal), assim os comandos serão os mesmo independente do seu SO.

Instalando uma imagem

Imagens são semelhantes a um pacote flatpack ou snap. É de fato o programa ou SO que rodará dentro do contêiner, no nosso caso, queremos uma imagem do Postgres.

Então para instalarmos essa imagem, vamos até o nosso terminal e digitaremos o seguinte: docker pull postgres. Esse comando irá baixar o Postgres e deixá-lo pronto para nosso uso.

Caso esteja usando Linux, você deverá executar esse comando como super usuário (sudo docker pull postgres). Você pode ver todas as opções de imagens disponíveis em docker hub.

Iniciando o contêiner

Finalmente, vamos iniciar o contêiner e deixá-lo pronto para uso. O comando para isso é o seguinte:

# Se você estiver usando linux lembre-se de colocar o (sudo) antes
docker run -p 5432:5432 --name meu-postgres -e POSTGRES_USER=docker -e POSTGRES_PASSWORD=123 -d postgres

É um comando um pouco longo, mas não se assuste, ainda assim é bem simples de se entender.

  • –name
    • Essa flag serve para definirmos um nome para o nosso contêiner, em nosso exemplo eu o chamei de “meu-postgres”. Você pode dar o nome que preferir.
  • -p
    • Define a porta em que nosso contêiner vai responder.
  • -e
    • Vem do inglês Environment Variables (variáveis de ambiente). É com essa flag que definimos variáveis para nosso banco. Em nosso exemplo definimos o usuário como sendo docker e a senha 123.
  • -d
    • Detached ou no português (separado) faz com que o contêiner rode em segundo plano, deixando o terminal livre.

Conectando ao Postgres

Finalmente, abra qualquer programa de sua preferência, que gerencie conexões com o banco de dados. Eu usarei o beekeeper studio.

Conectando-se ao docker
Conectando-se ao docker

Em seguida, insira as informações de conexão. Elas deverão ser compatíveis com as informações que você inseriu no comando de criação do contêiner.

Por exemplo, port: 5432, user: docker, password: 123. Essas foram as informações que inseri no meu contêiner. Insira as suas conforme o seu exemplo.

Após isso você já poderá usar o seu postgres normalmente:

Criando um schema no docker postgres
Criando um schema

Conclusão

A utilização de contêineres traz várias vantagens, por exemplo, o ambiente é sempre o mais próximo possível da produção.

Sua aplicação funcionará independente de ambiente, já que ela está rodando um contêiner. Dessa forma você evita o famoso “na minha máquina funciona”.

Você deixa a sua máquina limpa, já que os programas não vão espalhar “lixos” pelo seu sistema pois os programas estão isolados. Isso quer dizer que se você remover um contêiner, tudo nesse será removido também.

Saiba mais