小编Jot*_*ain的帖子

在 docker-compose.yml 文件中创建 postgres 数据库

我想在 postgres 容器启动后在 docker-compose.yml 文件中创建一个名为 Bank 的 postgres 数据库,但是当我运行时docker-compose --env-file .env -f docker-compose.yaml up -d出现此错误:/var/run/postgresql:5432 - no response...

当我删除带有选项的行时command:,一切都会正常启动,我得到:/var/run/postgresql:5432 - accepting connections

但现在,我必须在终端中逐步运行此操作:

  • docker exec -it postgres bash
  • psql -U 我的用户名
  • 创建数据库银行;
  • 并退出

我真的不希望它像那样工作,相反,我希望在 docker-compose 文件中创建数据库。(请注意,当我删除该command:选项并until pg_isready; do sleep 1; done; echo accepting;在容器内运行时,它accepting几乎立即输出)

envPOSTGRES_DB变量不起作用,用户名仍用作默认值

这是我的 docker-compose 文件:

services:
  db:
    container_name: postgres
    image: postgres
    environment:
      - POSTGRES_USER=${POSTGRES_USER}
      - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
      - PGDATA=/data/postgres
    volumes:
      - db:/data/postgres
    ports:
      - …
Run Code Online (Sandbox Code Playgroud)

postgresql docker docker-compose

4
推荐指数
2
解决办法
8908
查看次数

标签 统计

docker ×1

docker-compose ×1

postgresql ×1