Попытка контейнера докеров phppgadmin для просмотра базы данных postgres на хосте: он говорит, что не удалось войти в систему

Я хочу просмотреть хост postgresql с контейнером докеров phppgadmin

Мой хост - 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 со следующей командой

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

Теперь я могу открыть phppgadmin из 127.0.0.1:8888/phppgadmin

Но когда я пытаюсь войти в систему, появляется сообщение login failed

У меня есть проект django на моем хосте с использованием хостов 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

person Santhosh    schedule 27.04.2020    source источник


Ответы (1)


Из netstat -nrv в моем докер-контейнере phppgadmin

$ 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 и войдите в систему без суперпользователя

Для суперпользователя он все еще не работает.

person Santhosh    schedule 27.04.2020