代码之家  ›  专栏  ›  技术社区  ›  Markus Weber

Docker dpage/pgadmin4错误:指定的用户不存在

  •  0
  • Markus Weber  · 技术社区  · 6 年前

    这是 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 文件在同一目录中。

    # 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 docker run --rm -e PGADMIN_DEFAULT_EMAIL="info@my-website.com" -e PGADMIN_DEFAULT_PASSWORD="my-secure-password" -p 8001:80 dpage/pgadmin4 不过还可以。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Markus Weber    6 年前

    tty: true pgadmin 码头服务-合成.yml文件。

    
      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
    

    因此,完整的文件如下所示:

    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