Docker dpage/pgadmin4错误:指定的用户不存在 [英] Docker dpage/pgadmin4 error: specified user does not exist
问题描述
这是 docker-compose.yml
文件:
version: '3'
services:
############################
# Setup database container #
############################
postgres_db:
image: postgres
restart: always
ports:
- ${POSTGRES_PORT}:${POSTGRES_PORT}
environment:
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- PGDATA=/var/lib/postgresql/data/pgdata
- POSTGRES_DB=${POSTGRES_DB}
volumes:
- ./data:/var/lib/postgresql/data
networks:
- db_network
pgadmin:
image: dpage/pgadmin4:4.19
restart: always
ports:
- 8001:8080/tcp
environment:
- PGADMIN_LISTEN_ADDRESS=0.0.0.0
- PGADMIN_LISTEN_PORT=8080
- PGADMIN_DEFAULT_EMAIL=${PGADMIN_DEFAULT_EMAIL}
- PGADMIN_DEFAULT_PASSWORD=${PGADMIN_DEFAULT_PASSWORD}
networks:
- db_network
networks:
db_network:
driver: bridge
同一目录中有一个 .env
文件.
There is a .env
file in the same directory.
# The above refers to the name of the postgres container since using docker-compose
# This is because docker-compose creates a user-defined network. Kubernetes also does this.
POSTGRES_PORT=5432
POSTGRES_USER=website
POSTGRES_PASSWORD=website
POSTGRES_DB=wikifakes_main
PGADMIN_DEFAULT_EMAIL=info@my-website.com
PGADMIN_DEFAULT_PASSWORD=my-secure-password
在执行 docker-compose up --build
时,docker start和我都可以通过 localhost:8001
访问pgAdmin4网站.但是,输入凭据后,我得到以下响应:
When executing docker-compose up --build
both docker start and I can access the pgAdmin4 website via localhost:8001
.
However, after entering the credentials, I get the following response:
指定的用户不存在
为什么指定的用户不存在,如何更改环境以登录?
Why does the specified user not exist and how should I change my environment so that I can log in?
通过 docker创建的
正常运行. pgadmin4
docker上的登录运行--rm -e PGADMIN_DEFAULT_EMAIL ="info@my-website.com" -e PGADMIN_DEFAULT_PASSWORD ="my-secure-password"-p 8001:80 dpage/pgadmin4
The login on an pgadmin4
docker created via docker run --rm -e PGADMIN_DEFAULT_EMAIL="info@my-website.com" -e PGADMIN_DEFAULT_PASSWORD="my-secure-password" -p 8001:80 dpage/pgadmin4
works alright though.
推荐答案
在docker-compose.yml文件中的 pgadmin
服务中添加 tty:true
.>
Add tty: true
to the pgadmin
service in the docker-compose.yml file.
pgadmin:
image: dpage/pgadmin4:4.19
restart: always
ports:
- 8001:8080/tcp
environment:
- PGADMIN_LISTEN_ADDRESS=0.0.0.0
- PGADMIN_LISTEN_PORT=8080
- PGADMIN_DEFAULT_EMAIL=${PGADMIN_DEFAULT_EMAIL}
- PGADMIN_DEFAULT_PASSWORD=${PGADMIN_DEFAULT_PASSWORD}
networks:
- db_network
# ADD THIS LINE
tty: true
因此完整的文件如下所示:
So the complete file will look as follows:
version: '3'
services:
############################
# Setup database container #
############################
postgres_db:
image: postgres
restart: always
ports:
- ${POSTGRES_PORT}:${POSTGRES_PORT}
environment:
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- PGDATA=/var/lib/postgresql/data/pgdata
- POSTGRES_DB=${POSTGRES_DB}
volumes:
- ./data:/var/lib/postgresql/data
networks:
- db_network
pgadmin:
image: dpage/pgadmin4:4.19
restart: always
ports:
- 8001:8080/tcp
environment:
- PGADMIN_LISTEN_ADDRESS=0.0.0.0
- PGADMIN_LISTEN_PORT=8080
- PGADMIN_DEFAULT_EMAIL=${PGADMIN_DEFAULT_EMAIL}
- PGADMIN_DEFAULT_PASSWORD=${PGADMIN_DEFAULT_PASSWORD}
networks:
- db_network
# ADD THIS LINE, TO BE ABLE TO LOGIN
tty: true
networks:
db_network:
driver: bridge
这篇关于Docker dpage/pgadmin4错误:指定的用户不存在的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!