相关疑难解决方法(0)

postgres和docker-compose:无法创建自定义角色和数据库

我正在尝试使用custum用户和数据库创建一个简单的postgreSQL容器.

这是我的docker-compose文件:

version: '2'
services:
  db.postgres:
    container_name: db.postgres
    image: postgres:10
    environment:
      - POSTGRES_USER:'myuser'
      - POSTGRES_PASSWORD:'myuserpassword'
      - POSTGRES_DB:'mydb'
    ports:
      - '5432:5432'
    volumes:
      - ./pgdata:/var/lib/postgresql/data
Run Code Online (Sandbox Code Playgroud)

当我尝试连接到我的数据库时出错.

docker exec -it db.postgres psql -U myuser myuserpassword
psql: FATAL:  role "myuser" does not exist
Run Code Online (Sandbox Code Playgroud)

要么

$ docker exec -it db.postgres /bin/bash
root@1a0531e0350f:/# psql -U myuser
psql: FATAL:  role "myuser" does not exist
Run Code Online (Sandbox Code Playgroud)

创建数据库时,似乎忽略了Docker-compose环境变量.

我不知道我能做什么.你对这个问题有所了解吗?

谢谢 !

postgresql docker docker-compose

8
推荐指数
1
解决办法
5507
查看次数

Docker 无法识别 .env postgres 变量

编辑:Docker 似乎没有创建我的 postgres 数据库,即使我在我的.env文件中定义了它们。

我已经使用过docker-compose config,看起来 Docker 认可了我的数据:

environment:
    POSTGRES_DB: animemusicsorter
    POSTGRES_PASSWORD: root
    POSTGRES_USER: waifuszn
Run Code Online (Sandbox Code Playgroud)

但是当我运行时docker-compose up,出现以下错误:

postgres    | 2021-07-12 22:39:01.906 UTC [35] FATAL:  password authentication failed for user "waifuszn"
postgres    | 2021-07-12 22:39:01.906 UTC [35] DETAIL:  Role "waifuszn" does not exist.
Run Code Online (Sandbox Code Playgroud)

我尝试删除卷并删除postgres并重新创建它们,但这也没有给我任何结果。

docker-compose.yml

version: '3.5'

services:
  postgres:
    container_name: postgres
    image: postgres:11.6
    ports:
      - "5432:5432"
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_DB: ${DB_NAME}
      POSTGRES_USER: ${DB_USER}
    volumes:
      - ~/srv/docker/template-postgres/data:/var/lib/postgresql/data:rw

  django:
    container_name: django
    build:
      context: .
      dockerfile: …
Run Code Online (Sandbox Code Playgroud)

python django postgresql docker

5
推荐指数
1
解决办法
1023
查看次数

标签 统计

docker ×2

postgresql ×2

django ×1

docker-compose ×1

python ×1