pgAdmin Docker错误:'错误的用户名或密码'

luaexgnf  于 2023-10-16  发布在  Docker
关注(0)|答案(5)|浏览(167)

有一些简单的docker-compose.yml文件配置,但我不知道为什么我不能登录到pgAdmin使用 * email protected(https://stackoverflow.com/cdn-cgi/l/email-protection) * 作为电子邮件和 admin 作为密码。它是否需要更多的配置,或者我是否使用了错误的凭据?

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:[email protected]}
            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

dnph8jn4

dnph8jn41#

您定义了PGADMIN_DEFAULT_EMAILPGADMIN_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
sc4hvdpw

sc4hvdpw2#

也许您已经使用了服务pgAdmin及其相关容器:container_name:pgAdmin
解决办法是给予它们下列其他名称:

pgAdminNew:
    container_name: pgAdmin_new
    # restart: unless-stopped
    image: dpage/pgadmin4:4.29
    environment:
        PGADMIN_DEFAULT_EMAIL: ${PGADMIN_DEFAULT_EMAIL:[email protected]}
        PGADMIN_DEFAULT_PASSWORD: ${PGADMIN_DEFAULT_PASSWORD:-admin}
        PGADMIN_LISTEN_PORT: 5050
    volumes:
        - pgadmin:/root/.pgadmin
    ports:
        - "5050:5050"
    depends_on:
        -   db
    networks:
        - appNetwork
lx0bsm1f

lx0bsm1f3#

我通过先删除容器,然后删除卷来解决它。在本例中,删除名为pgadmin的卷。

rhfm7lfc

rhfm7lfc4#

除了上述所有解决方案外,请确保Postgres没有在Docker之外的本地机器上运行,因为它可能会与Docker中的Postgres示例冲突

fcwjkofz

fcwjkofz5#

对我来说,它不适用于以下任何用户:

‘PGADMIN_DEFAULT_EMA[email protected]’
'[email protected]'

然后我用了一个不同的:

'[email protected]'

和它的工作.不知道是什么原因,可能是其他两个太常见了。

相关问题