Erro ao acessar conteiner docker pelo endereço https://localhost:5432/

Não estou conseguindo acessar a instância de banco de dados PostGre instalaldo e instânciado no docker nem pelo endreço https://localhost:5432/ nem pelo PGADMIN que foi instalado fora do docker na minha máquina local descritos no livro Back-end Java, o conteiner é executado porém não consigo acessar recebo o erro ERR_CONNECTION_RESET quando acessado pelo navegador e erro Error connecting to the server: authentication method 10 not supported quando acessado pelo PGADMIN, o firewall do windows já está liberado para o bom funcionamento do docker.

Olá Renato, qual o comando que você utilizou para rodar o postgres?

o mais importante é colocar o -p 5432:5432, que mapeia a porta do computador para o container.

o comando completo deve ser:

docker run -d -p 5432:5432 -e POSTGRES_PASSWORD=password postgres

Boa noite mestre!

O comando que usei foi este:

docker run -d -p 5432:5432 -e POSTGRES_PASSWORD=postgres postgres. Meu sistema operacional é Windows 11 conforme exibido abaixo.

opa Renato, dei uma pesquisada aqui, pela mensagem de erro

Error connecting to the server: authentication method 10 not supported

pode ter alguma incompatibilidade entre a versão do postgres e do pgadmin. Consegue verificar as versões?

para verificar a versão do postgres no docker rode o comando docker exec {conteinerId} postgres -V, você consegue pegar o conteinerId com um docker ps.

a do pgAdmin você consegue ver no menu Help → About do próprio pgAdmin.

nesse link tem mais alguns detalhes:

Boa tarde meu querido! Segue as informações solicitadas abaixo, caso tenha tenha Linkedin posso te seguir?

postgres (PostgreSQL) 15.2 (Debian 15.2-1.pgdg110+1)

Opa faltou a versão do PgAdmin, segue a informação abaixo.

opa, as versões estão ok, tenta ver o log do postgres, o comando é:

docker logs {containerId},

e pode seguir lá no Linkedin, é só procurar Eduardo Santana

Segue o log solicitado:

The files belonging to this database system will be owned by user “postgres”.
This user must also own the server process.

The database cluster will be initialized with locale “en_US.utf8”.
The default database encoding has accordingly been set to “UTF8”.
The default text search configuration will be set to “english”.

Data page checksums are disabled.

fixing permissions on existing directory /var/lib/postgresql/data … ok
creating subdirectories … ok
selecting dynamic shared memory implementation … posix
selecting default max_connections … 100
selecting default shared_buffers … 128MB
selecting default time zone … Etc/UTC
creating configuration files … ok
running bootstrap script … ok
performing post-bootstrap initialization … ok
syncing data to disk … ok

Success. You can now start the database server using:

pg_ctl -D /var/lib/postgresql/data -l logfile start

initdb: warning: enabling “trust” authentication for local connections
initdb: hint: You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb.
waiting for server to start…2023-03-03 01:30:29.889 UTC [48] LOG: starting PostgreSQL 15.2 (Debian 15.2-1.pgdg110+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 10.2.1-6) 10.2.1 20210110, 64-bit
2023-03-03 01:30:29.891 UTC [48] LOG: listening on Unix socket “/var/run/postgresql/.s.PGSQL.5432”
2023-03-03 01:30:29.897 UTC [51] LOG: database system was shut down at 2023-03-03 01:30:29 UTC
2023-03-03 01:30:29.901 UTC [48] LOG: database system is ready to accept connections
done
server started

/usr/local/bin/docker-entrypoint.sh: ignoring /docker-entrypoint-initdb.d/*

2023-03-03 01:30:30.010 UTC [48] LOG: received fast shutdown request
waiting for server to shut down…2023-03-03 01:30:30.012 UTC [48] LOG: aborting any active transactions
2023-03-03 01:30:30.013 UTC [48] LOG: background worker “logical replication launcher” (PID 54) exited with exit code 1
2023-03-03 01:30:30.013 UTC [49] LOG: shutting down
2023-03-03 01:30:30.015 UTC [49] LOG: checkpoint starting: shutdown immediate
2023-03-03 01:30:30.028 UTC [49] LOG: checkpoint complete: wrote 3 buffers (0.0%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.004 s, sync=0.002 s, total=0.015 s; sync files=2, longest=0.001 s, average=0.001 s; distance=0 kB, estimate=0 kB
2023-03-03 01:30:30.031 UTC [48] LOG: database system is shut down
done
server stopped

PostgreSQL init process complete; ready for start up.

2023-03-03 01:30:30.129 UTC [1] LOG: starting PostgreSQL 15.2 (Debian 15.2-1.pgdg110+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 10.2.1-6) 10.2.1 20210110, 64-bit
2023-03-03 01:30:30.129 UTC [1] LOG: listening on IPv4 address “0.0.0.0”, port 5432
2023-03-03 01:30:30.129 UTC [1] LOG: listening on IPv6 address “::”, port 5432
2023-03-03 01:30:30.133 UTC [1] LOG: listening on Unix socket “/var/run/postgresql/.s.PGSQL.5432”
2023-03-03 01:30:30.138 UTC [62] LOG: database system was shut down at 2023-03-03 01:30:30 UTC
2023-03-03 01:30:30.142 UTC [1] LOG: database system is ready to accept connections

Eu consegui resolver colocando no arquivo de hosts do windows o endereço: 127.0.0.1 postgredb(nome do meu container que modifiquei) e funcionou no PGADMIN,

Porém no navegador não abre de forma alguma como mostrado na imagem abaixo:

opa Renato, legal que conseguiu resolver, vou dar uma pesquisada no por que você teve que fazer isso, normalmente não é necessário. Atualmente eu rodo tudo no Linux e não tive esse problema, vou tentar rodar no Windows pra ver se o erro se repete.

sobre o browser, não vai funcionar mesmo, o postgres não tem uma interface web, você consegue acessar apenas com ferramentas de gerenciamento de banco de dados, como o PgAdmin ou o DBeaver.

1 curtida