Blog Formação DEV

Docker: comandos básicos e criação de um container postgres

Nesse artigo, vamos criar um container Postgres do zero e vamos deixá-lo pronto para o desenvolvimento do seu aplicativo.
Docker: comandos básicos e criação de um container postgres
Texto de: Marlliton Souza

Introdução

O Docker é uma ferramenta que nos auxilia na criação de containers, que são ambientes isolados onde você pode rodar aplicações. Esses ambiente rodam de forma isolada da sua máquina e também são isolados uns dos outros, ou seja, um container, por padrão não pode acessar outro container. Além disso, cada container agrupa seus próprios dados, softwares, bibliotecas e configurações de forma completamente independente.

Exemplo visual de containers no Docker

Um container 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.

A seguir, veremos várias maneiras de criar um container utilizaremos a linha de comando (terminal), assim os comandos serão os mesmo independente do seu SO.

Instalando uma imagem

Imagens são os programas que irão rodar dentro do container, e são semelhantes a pacotes flatpak ou snap muito utilizados em sistemas Linux. No nosso caso, queremos uma imagem do Postgres e para instalar essa imagem vamos usar o seguinte comando no terminal: docker pull postgres. Esse comando irá baixar a imagem do 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 container

Agora, vamos iniciar o container 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.

  • -p : define a porta em que o container responderá. O número no lado direito dos dois pontos indica a porta da máquina host para onde as requisições serão feitas, e o do lado direito indica a porta do docker onde o Postgres está ativo.
  • --name : essa flag serve para definir um nome para o container, em nosso exemplo eu o chamei de “meu-postgres”. Você pode dar o nome que preferir.
  • -e : vem do inglês Environment Variables (variáveis de ambiente). É com essa flag que podemos definir variáveis no banco de dados. Neste exemplo definimos o usuário como sendo Docker e a senha 123.
  • -d: detached ou no português (separado) faz com que o container rode em segundo plano, deixando o terminal livre.

Após rodar o comando acima em seu terminal, o Docker fará baixará o container do Postgres e em seguida já podemos fazer uso do banco de dados normalmente.

Conectando ao Postgres

Abra qualquer programa cliente SQL de sua preferência. Eu usarei o Beekeeper Studio, mas, poderia ser qualquer outro.

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 container.

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

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

Conclusão

Com a utilização de containers, o ambiente é sempre o mais próximo possível da produção e a sua aplicação funcionará independente de ambiente. 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 container, tudo nesse será removido também.

Saiba mais

Sobre o autor
Cod3r

Cod3r

Com mais de 400 mil alunos, a Cod3r é uma das principais escolas de tecnologia do País. Um de seus produtos mais importantes é a Formação DEV, com objetivo de preparar os profissionais para o mercado.

Ótimo! Inscreveu-se com sucesso.

Bem-vindo de volta! Registou-se com sucesso.

Assinou com sucesso o Blog Formação DEV .

Sucesso! Verifique o seu e-mail para obter o link mágico para se inscrever.

As suas informações de pagamento foram atualizadas.

Seu pagamento não foi atualizado.