Docker

Configure um servidor PostgreSQL e pgAdmin com Docker

Configure um servidor PostgreSQL e pgAdmin com Docker
Neste artigo, vou mostrar como usar o Docker Compose para criar um contêiner PostgreSQL e acessá-lo usando o pgAdmin 4, a interface de administração do PostgreSQL baseada na web. Também mostrarei como acessar o servidor de banco de dados PostgreSQL em execução em um contêiner Docker do DataGrip IDE. Então vamos começar.

Requisitos:

Para seguir este artigo, você deve ter o Docker instalado no seu computador. LinuxHint tem muitos artigos que você pode seguir para instalar o Docker na distribuição Linux desejada, se ainda não o tiver instalado. Portanto, certifique-se de verificar LinuxHint.com caso você esteja tendo problemas para instalar o Docker.

Instalando o Docker Compose:

Você pode baixar o arquivo binário do Docker Compose facilmente com o seguinte comando:

$ sudo curl -L "https: // github.com / docker / compose / releases / download / 1.24.1 /
docker-compose - $ (uname -s) - $ (uname -m) "-o / usr / local / bin / docker-compose

NOTA: ondulação pode não estar instalado na sua distribuição Linux. Se for esse o caso, você pode instalar o curl com o seguinte comando:

Ubuntu / Debian / Linux Mint:

$ sudo apt install curl -y

CentOS / RHEL / Fedora:

$ sudo dnf install curl -y

Uma vez docker-compose arquivo binário é baixado, execute o seguinte comando:

$ sudo chmod + x / usr / local / bin / docker-compose

Agora, verifique se docker-compose comando está funcionando da seguinte maneira:

versão $ docker-compose

Deve imprimir as informações da versão conforme mostrado na imagem abaixo.

Configurando o Docker Compose para o projeto:

Agora, crie um diretório de projeto (digamos ~ / docker / pgdev) do seguinte modo:

$ mkdir -p ~ / docker / pgdev

Agora, navegue até o diretório do projeto ~ / docker / pgdev do seguinte modo:

$ cd ~ / docker / pgdev

Agora, crie um docker-compose.yaml arquivo no diretório do projeto ~ / docker / pgdev e digite as seguintes linhas no docker-compose.yaml Arquivo.

versão: "3.7 "
Serviços:
db:
imagem: postgres: 12.2
reiniciar: sempre
meio Ambiente:
POSTGRES_DB: postgres
POSTGRES_USER: admin
POSTGRES_PASSWORD: segredo
PGDATA: / var / lib / postgresql / data
volumes:
- db-data: / var / lib / postgresql / data
portas:
- "5432: 5432"
 
pgadmin:
imagem: dpage / pgadmin4: 4.18
reiniciar: sempre
meio Ambiente:
PGADMIN_DEFAULT_EMAIL: admin @ linuxhint.com
PGADMIN_DEFAULT_PASSWORD: segredo
PGADMIN_LISTEN_PORT: 80
portas:
- "8080: 80"
volumes:
- pgadmin-data: / var / lib / pgadmin
links:
- "db: pgsql-server"
volumes:
db-data:
pgadmin-data:

O docker-compose.yaml o arquivo deve ser o seguinte.

Aqui, criei 2 serviços db e pgadmin.

db serviço irá executar o postgres: 12.2 imagem (do DockerHub) em um contêiner do Docker.

pgadmin serviço irá executar o dpage / pgadmin4: 4.18 imagem (do DockerHub) em outro contêiner do Docker.

Dentro db serviço, o POSTGRES_DB, POSTGRES_USER, POSTGRES_PASSWORD variáveis ​​de ambiente são usadas para definir o nome do banco de dados padrão, nome de usuário admin e senha de usuário admin para o servidor PostgreSQL, respectivamente. O PGDATA variável de ambiente é usada para configurar o servidor PostgreSQL para armazenar os dados para / var / lib / postgresql / data diretório do container.

Dentro pgadmin serviço, o PGADMIN_DEFAULT_EMAIL, PGADMIN_DEFAULT_PASSWORD variáveis ​​de ambiente são usadas para definir o e-mail de login e senha da interface da web do pgAdmin, respectivamente. O PGADMIN_LISTEN_PORT é usado para definir a porta pgAdmin 80 no contêiner.

No serviço db, todo o conteúdo do / var / lib / postgresql / data diretório será salvo permanentemente no db-data volume.

No pgadmin serviço, todo o conteúdo do / var / lib / pgadmin diretório será salvo permanentemente no pgadmin-data volume.

No db serviço, o porto de contêineres 5432 (direita) é mapeado para a porta do host Docker 5432 (deixou).

No pgadmin serviço, o porto de contêineres 80 (direita) é mapeado para a porta do host Docker 8080 (deixou).

No pgadmin serviço, um alias de nome de host servidor pgsql para o db container é criado. Então, você pode acessar o servidor PostgreSQL usando servidor pgsql como o nome do host (nenhum endereço IP necessário).

Iniciando o servidor PostgreSQL e pgAdmin:

Agora, para começar o db e pgadmin serviços, execute o seguinte comando:

$ docker-compose up -d

Os serviços devem começar em segundo plano.

Como você pode ver, o porto 8080 e 5432 são abertos pelo docker-proxy serviço.

$ sudo netstat -tlpn

Para ver como as portas são mapeadas, execute o seguinte comando:

$ docker-compose ps

Como você pode ver, para o db serviço, a porta do host Docker 5432 é mapeado para a porta TCP do contêiner 5432.

Para o pgadmin serviço, a porta do host Docker 8080 é mapeado para a porta TCP do contêiner 80.

Acessando o servidor pgAdmin 4 ou PostgreSQL de outros computadores:

Se você deseja acessar o servidor de banco de dados pgAdmin 4 ou PostgreSQL de outro computador em sua rede, você deve saber o endereço IP de seu host Docker.

Para encontrar o endereço IP do seu host Docker, execute o seguinte comando:

$ ip

No meu caso, o endereço IP do meu host Docker 192.168.20.160. Será diferente para você. Portanto, certifique-se de substituí-lo pelo seu a partir de agora.

Acessando o pgAdmin do navegador da web:

Agora você pode acessar facilmente o pgAdmin 4 de seu navegador da web.

Visite http: // localhost: 8080 do seu host Docker ou http: // 192.168.20.160: 8080 de qualquer computador em sua rede. Você deve ver a página de login do pgAdmin. Faça login com seu email e senha.

Depois de fazer o login, você deve ver o painel do pgAdmin.

Agora, para adicionar o servidor PostgreSQL em execução como um contêiner Docker, clique com o botão direito em Servidores, e depois vá para Crio > Servidor…

No Em geral guia, digite seu servidor Nome.

Agora, vá para o Conexão guia e digite servidor pgsql como Nome / endereço do host, 5432 como Porta, postgres como Banco de dados de manutenção, admin como Nome do usuário, segredo como Senha e verificar Salvar senha? caixa de seleção. Então, clique em Salve .

pgAdmin 4 deve ser conectado ao seu banco de dados PostgreSQL. Agora, você pode trabalhar com seu banco de dados PostgreSQL o quanto quiser.

Acessando PostgreSQL a partir do DataGrip:

Você também pode acessar seu servidor de banco de dados PostgreSQL a partir do DataGrip IDE ou qualquer outro SQL IDEs.

No caso do DataGrip, clique em + de Bancos de dados seção e vá para Fonte de dados > PostgreSQL.

O driver PostgreSQL pode não estar instalado. Nesse caso, clique em Download.

O driver deve ser instalado. Agora, digite o endereço IP do host Docker 192.168.20.160 (no meu caso) como o Hospedeiro, 5432 Enquanto o Porta, admin Enquanto o Do utilizador, segredo Enquanto o Senha, postgres Enquanto o Base de dados e clique em Conexão de teste.

Você deve ver os detalhes do servidor de banco de dados PostgreSQL se tudo funcionar.

Agora clique em OK.

Agora, você pode gerenciar seus bancos de dados PostgreSQL do DataGrip.

Parando PostgreSQL e pgAdmin:

Agora, para parar o db e pgadmin serviços, execute o seguinte comando:

$ docker-compose down

O db e pgadmin serviços devem ser interrompidos.

Limpando Dados PostgreSQL e pgAdmin:

Se você deseja remover todos os dados e configurações do banco de dados PostgreSQL, e todas as configurações do pgAdmin, você deve remover o db-data e pgadmin-data volumes.

Você pode encontrar o nome real dos volumes de dados com o seguinte comando:

$ docker volume ls

Como você pode ver, existem 2 volumes para o pgdev projeto, pgdev_db-data e pgdev_pgadmin-data.

Você pode remover esses volumes com o seguinte comando:

$ docker volume rm pgdev_db-data pgdev_pgadmin-data

Referências:

[1] https: // hub.docker.com / _ / postgres?tab = descrição
[2] https: // hub.docker.com / r / dpage / pgadmin4 /
[3] https: // www.pgadmin.org / docs / pgadmin4 / latest / container_deployment.html

Melhores aplicativos de mapeamento de gamepad para Linux
Se você gosta de jogar no Linux com um gamepad em vez de um teclado típico e sistema de entrada de mouse, existem alguns aplicativos úteis para você. ...
Ferramentas úteis para jogadores de Linux
Se você gosta de jogar no Linux, é provável que tenha usado aplicativos e utilitários como Wine, Lutris e OBS Studio para melhorar a experiência de jo...
Jogos HD Remasterizados para Linux que nunca tiveram uma versão Linux anterior
Muitos desenvolvedores e editores de jogos estão apresentando remasterização em HD de jogos antigos para estender a vida da franquia, por favor, os fã...