有一些简单的 docker-compose.yml 文件配置,但我不知道为什么我不能使用 pgadmin4@pgadmin.org 作为电子邮件和 admin 登录到 pgAdmin em> 作为密码。它需要更多配置还是我使用了错误的凭据?
version: "3.7"
services:
db:
image: postgres:13.1
restart: unless-stopped
env_file:
- ./.env
ports:
- 5432:5432
volumes:
- db-data:/var/lib/postgresql/data
- ./init-db.sh:/docker-entrypoint-initdb.d/init-database.sh
networks:
- appNetwork
pgAdmin:
container_name: pgAdmin
# restart: unless-stopped
image: dpage/pgadmin4:4.29
environment:
PGADMIN_DEFAULT_EMAIL: ${PGADMIN_DEFAULT_EMAIL:-pgadmin4@pgadmin.org}
PGADMIN_DEFAULT_PASSWORD: ${PGADMIN_DEFAULT_PASSWORD:-admin}
PGADMIN_LISTEN_PORT: 5050
volumes:
- pgadmin:/root/.pgadmin
ports:
- "5050:5050"
depends_on:
- db
networks:
- appNetwork
volumes:
db-data:
pgadmin:
networks:
appNetwork:
driver: bridge
答案 0 :(得分:2)
您定义了 PGADMIN_DEFAULT_EMAIL
和 PGADMIN_DEFAULT_PASSWORD
,并且还使用了持久卷 pgadmin
。也许您之前使用不同的电子邮件/密码创建了一个实例,该实例已保存在 pgadmin
卷中,并且不会被您新定义的变量覆盖。
您可以尝试删除堆栈容器和卷:
# WARNING: this will delete all containers and volumes
# including pg_data volume and pgadmin volume
# make sure to make a backup if needed
docker-compose down -v
或者,您可以停止 pgAdmin 容器并专门删除 pgadmin
卷:
docker-compose rm -s pgAdmin
# Replace project_name by your Docker Compose project name
# Use docker volume ls to show all volumes and choose the proper one
docker volume rm project_name_pgadmin
然后重新创建 pgAdmin
容器和卷(以及其他必要的组件):
docker-compose up -d
答案 1 :(得分:1)
也许您已经使用了服务 pgAdmin 及其相关容器:container_name: pgAdmin
解决方案是为它们提供其他名称,如下所示:
pgAdminNew:
container_name: pgAdmin_new
# restart: unless-stopped
image: dpage/pgadmin4:4.29
environment:
PGADMIN_DEFAULT_EMAIL: ${PGADMIN_DEFAULT_EMAIL:-pgadmin4@pgadmin.org}
PGADMIN_DEFAULT_PASSWORD: ${PGADMIN_DEFAULT_PASSWORD:-admin}
PGADMIN_LISTEN_PORT: 5050
volumes:
- pgadmin:/root/.pgadmin
ports:
- "5050:5050"
depends_on:
- db
networks:
- appNetwork