将主机上的文件夹挂载为 postgres 配置目录/

将主机上的文件夹挂载为 postgres 配置目录/

我的应用程序有一个 git repo,docker-compose.yml在根目录中有一个用于运行环境的目录。它使用 postgres 9.1 作为数据库(将升级)。配置的 postgres 部分如下所示:

db:
  image: orchardup/postgresql:9.1
  ports:
      - 5432:5432
  environment:
      POSTGRESQL_USER: XXXXXXXXX
      POSTGRESQL_PASS: YYYYYYYYY
      POSTGRESQL_DB: my_scharona

我希望/etc/postgresql/9.1/main容器可以从db/etcgit 存储库中挂载,这样我就可以将 postgres 配置文件存储在 git 中。但是,当我在 yml 文件中执行此操作时:

    volumes:
      - ./db/etc:/etc/postgresql/9.1/main

启动容器时出现以下错误:

错误:无法链接到未运行的容器:/ZZZZZZ_db_1 AS /ZZZZZZ_web_1/db

据我所知在文档中我似乎使用了正确的语法。那么我做错了什么?

答案1

仅使用docker-compose up db启动数据库实例就会暴露实际错误:

zippy1981@zippy1981-Inspiron-15-7568:~/src/XXXXXXXXX$ docker-compose up db
Recreating XXXXXXXXX_db_1
Attaching to XXXXXXXXX_db_1
db_1 | postgres cannot access the server configuration file "/etc/postgresql/9.1/main/postgresql.conf": No such file or directory

由于我忘记将配置文件放在主机上,PostgreSQL 无法启动。

相关内容