尝试phppgadmin docker容器查看主机上的postgres数据库:它说登录失败



我想查看带有phppgadmin docker容器的主机postgresql

我的主机是archlinux,上面运行着postgresql服务器

我有/var/lib/postgres/data/postgresql.conf

listen_addresses = "*"

/var/lib/postgres/data/pg_hba.conf

host    all             all             172.17.0.0/16           password

我想查看postgresql表。因此,我使用phppgadmin-doker和以下命令

docker run --name='phppgadmin' --rm 
--publish=8888:80 
-e PHP_PG_ADMIN_SERVER_HOST="127.0.0.1" 
dockage/phppgadmin:latest

现在我可以从127.0.0.1:8888/phppgadmin打开phppgadmin

但当我尝试登录时,它显示login failed

我在我的主机上有一个django项目,使用using hosts postgresql。这与设置配合良好

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': ‘<db_name>’,
'USER': '<db_username>',
'PASSWORD': '<password>',
'HOST': '127.0.0.1',
'PORT': '5432',
}
}

还有我在主机上的netstat输出

$ netstat -nrv                                         
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG        0 0          0 wlp3s0
172.17.0.0      0.0.0.0         255.255.0.0     U         0 0          0 docker0
172.18.0.0      0.0.0.0         255.255.0.0     U         0 0          0 br-1c7e732767f4
172.20.0.0      0.0.0.0         255.255.0.0     U         0 0          0 br-17604ffc4858
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 wlp3s0

在我的码头集装箱上

$ netstat -nrv
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         172.17.0.1      0.0.0.0         UG        0 0          0 eth0
172.17.0.0      0.0.0.0         255.255.0.0     U         0 0          0 eth0

来自我的phppgadmin docker容器上的netstat -nrv

$ netstat -nrv
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         172.17.0.1      0.0.0.0         UG        0 0          0 eth0
172.17.0.0      0.0.0.0         255.255.0.0     U         0 0          0 eth0

所以主机的ip地址是172.17.0.1

PHP_PG_ADMIN_SERVER_HOST="127.0.0.1"更改为PHP_PG_ADMIN_SERVER_HOST="172.17.0.1"

docker run --name='phppgadmin' --rm 
--publish=8888:80 
-e PHP_PG_ADMIN_SERVER_HOST="172.17.0.1" 
dockage/phppgadmin:latest

带有:

我有/var/lib/postgres/data/postgresql.conf

listen_addresses = "localhost,127.0.0.1,172.17.0.1"

/var/lib/postgres/data/pg_hba.conf

host    all             all             172.17.0.0/16           md5

打开127.0.0.1:8888/phppgadmin并使用非超级用户登录

对于超级用户来说,它仍然不起作用。

相关内容

  • 没有找到相关文章

最新更新