我想查看带有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
并使用非超级用户登录
对于超级用户来说,它仍然不起作用。