PostgreSQL: Usando ferramentas em container (PGAdmin/Cloudbeaver) para administrar o PostgreSQL

From Wiki

Instalar o Podman

1) Atualizar o sistema e instalar o Podman

sudo dnf update -y
sudo dnf install -y podman podman-docker
sudo systemctl enable --now podman 
sudo systemctl start podman 
sudo systemctl status podman

2) Criar usuário para os containers

sudo groupadd -r -g 1000 containers  
sudo useradd -r -u 1000 -g containers -d /var/containers -s /sbin/nologin -m containers

sudo mkdir -p /var/containers/cloudbeaver/workspace
sudo chown -R 1000:1000 /var/containers

3) Baixar as imagens

podman pull dpage/pgadmin4:latest
podman pull dbeaver/cloudbeaver:latest

Criar os containers

1) Gerar senha para o pgAdmin

export PGADMIN_DEFAULT_PASSWORD=$(tr -dc A-Za-z0-9 </dev/urandom | head -c 50)

2) Executar o container pgAdmin

podman run --name pgadmin_5080 -p 5080:80 -p 5443:443 \
  -e "[email protected]" \
  -e "PGADMIN_DEFAULT_PASSWORD=$PGADMIN_DEFAULT_PASSWORD" \
  -d dpage/pgadmin4:latest

podman ps --no-trunc

ou container CloudBeaver

podman run --name cloudbeaver_8978 -d -p 8978:8978 \
  -v /var/containers/cloudbeaver/workspace:/opt/cloudbeaver/workspace \
  dbeaver/cloudbeaver:latest

podman ps --no-trunc

Criar serviços systemd para inicialização automática

1) Criando os serviços

cd /etc/systemd/system

podman generate systemd --new --files --name cloudbeaver_8978
podman generate systemd --new --files --name pgadmin_5080

sudo mv container-cloudbeaver_8978.service cloudbeaver_8978.service
sudo mv container-pgadmin_5080.service pgadmin_5080.service

sudo systemctl daemon-reload

2) Ativar e iniciar os serviços

sudo systemctl daemon-reload
sudo systemctl enable cloudbeaver_8978
sudo systemctl enable pgadmin_5080
sudo systemctl start cloudbeaver_8978
sudo systemctl start pgadmin_5080

3) Verificar o status dos serviços

sudo systemctl status cloudbeaver_8978
sudo systemctl status pgadmin_5080

Comandos de apoio

Comandos para verificar o serviço

sudo systemctl status cloudbeaver_8978
sudo systemctl status pgadmin_5080

podman ps --no-trunc


Verificando os logs

podman logs -f cloudbeaver_8978
podman logs -f pgadmin_5080

journalctl -xeu cloudbeaver_8978.service -f
journalctl -xeu pgadmin_5080.service -f

Ver também