Criando container com PostgreSQL com Volume Usando Podman

edivancarvalho
editado fevereiro 2021 em Tutoriais

Situação problema


Ao Subir uma maquina, após o stop da maquina os dados são perdidos qual umas das formas para que os dados continuem salvos após o start do container.


Ao criar um container muitas vezes precisamos salvar os dados armazenados no servidor, por exemplo :. Um servidor de banco de dados realizar o cadastro de clientes e ao importar os dados e precisamos que esses dados não seja perdidos.

Usando um servidor PostgreSQL para aprendizado.

  • Criando um container com o banco de dados PostgreSQL com volume local.

Instalando o podman no Fedora.
#dnf install podman

Com o usuário do seu perfil criar os seguintes diretórios:
$ cd ~
$ mkdir volume
$ cd volume
$ mkdir app postgres

Após criar os diretórios esta na hora de criar os container.
$ cd ~

Neste comando já iremos definir a senha do banco de dados.

➜  ~ podman run --privileged -d -p 5432:5432 -v ${PWD}/volume/app:/app -v ${PWD}/volume/postgres:/var/lib/postgres -e POSTGRES_PASSWORD=12345 postgres

Temos outra forma, essa foi uma sugestão relatada:

podman run -d -p 5432:5432 -v pgdata:/var/lib/postgresql/data -e POSTGRES_PASSWORD=12345 postgres

A porta padrão do banco de dados postgres é 5432.

  • Usando a ferramentas DBeaver para conectar no banco de dados. DBeaver

Após criar o banco de dados faça um stop no ID ou pelo NOME do container. Para lista o ID ou Nome.

podman ps

podman stop priceless_hugle
Ao roda o comando acima se não tive o volume o seu banco de dado será perdido.

Inicialize seu container e depois veja se seu banco esta salvo.
podman start priceless_hugle

No caso neste tutorial estou usando o DBeaver.
Acesse seu banco e verifique se eu banco esta salvo.

Final


Bom esse foi um breve tutorial de como salvar arquivos na host local e mesmo acidental caso o usuário esqueça de pause o contêiner os arquivos sempre ficaram salvos, importante que não apague os diretórios que foram criados.


Caso estive algo errado por favor me notifique para melhorar o tutorial.

Sugestões são bem vindas.

Agradecimentos:

@Danniel @geraldossk @ferox @farribeiro

Fontes:
https://podman.io

https://server-world.info

https://fedorabr.org

https://medium.com/@felixgilioli

Comentários