postgres:9.4
您从中继承的图像在声明了一个卷/var/lib/postgresql/data
。从本质上讲,这意味着您无法将任何文件复制到映像中的该路径。更改将被丢弃。
您有几种选择:
您可以使用运行时在运行时将自己的配置文件添加为卷docker run -v postgresql.conf:/var/lib/postgresql/data/postgresql.conf ...
。但是,我不确定该如何与现有卷交互。
您可以在启动容器时复制文件。为此,请将文件复制到构建中不在卷下方的位置,然后从入口点或cmd调用脚本,该脚本会将文件复制到正确的位置并启动postgres。
在Postgres官方映像后面克隆项目,并编辑Dockerfile以在声明VOLUME之前添加自己的配置文件(在运行时自动复制VOLUME指令之前添加的任何内容)。
在docker-compose文件中的命令选项中传递所有配置更改
喜欢:
services:
postgres:
...
command:
- "postgres"
- "-c"
- "max_connections=1000"
- "-c"
- "shared_buffers=3GB"
- "-c"
...