这是 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 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" -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" -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错误:指定的用户不存在
发布评论