gpt4 book ai didi

postgresql - Docker - 如何在 Docker 容器中制作/安装扩展?

转载 作者:行者123 更新时间:2023-11-29 11:49:16 29 4
gpt4 key购买 nike

我正在使用 posgres:10.0 图像在容器内运行 PostgreSQL。我的 docker-compose.yml 看起来相当简单:

version: "2"
services:
db:
image: "postgres:10.0"
environment:
- POSTGRES_USER=postgres
- POSTGRES_DB=postgres
volumes:
- ./volumes/postgresql/postgresql.sh:/docker-entrypoint-initdb.d/postgresql.sh
ports:
- 5432:5432

postgresql.sh:

#!/bin/bash

echo wal_level=logical >> $PGDATA/postgresql.auto.conf
echo max_replication_slots=1 >> $PGDATA/postgresql.auto.conf
echo host replication all all trust >> $PGDATA/pg_hba.conf

对于我的项目,我们将开始使用 Multicorn 扩展,请参阅 http://multicorn.org/ .要制作/安装这个,我需要做:

git clone git://github.com/Kozea/Multicorn.git
cd Multicorn
make && make install

然后我可以添加一个multicorn.sql脚本,添加到/docker-entrypoint-initdb.d/目录下,当Docker 容器正在启动:

CREATE EXTENSION multicorn;

但是如何在 Docker 容器中制作/安装 Multicorn?理想情况下,我想继续使用 posgres:10.0 而不是发明/创建我自己的版本,因为我不想继承维护麻烦。

最佳答案

您应该创建一个自己的 Dockerfile - 这就是 Dockerfile 的意义;) 否则您将不得不在启动时使用脚本或类似的东西进行一些黑客攻击。不要那样做...

另一个快速说明:如果您想从源代码构建它,您可能想看看这个并使用多阶段 docker 构建:https://docs.docker.com/engine/userguide/eng-image/multistage-build/#use-multi-stage-builds

关于postgresql - Docker - 如何在 Docker 容器中制作/安装扩展?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47139691/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com