我想修改Postgres服务的shared_buffers
值。我使用我自己的服务器作为GitLab运行器,但我使用的是公共的GitLab实例;所以我可以更改运行器配置,但不能更改GitLab本身的配置。由于GitLabCI使用标准的上游Dockerpostgres
服务,此处记录,似乎可以将shell脚本复制到/docker-entrypoint-initdb. d
并在此处进行初始化。然而,我找不到任何方法从gitlab-ci.yml
访问容器内部的路径。
我的问题类似于以下内容:如何自定义官方PostgreSQL docker镜像的配置文件?除了因为GitLabCI将Docker初始化包装在自己的界面中,显示的使用Dockerfile
更改的方法不能明显翻译成与. gitlab-ci.yml
一起使用的形式。
任何基于使用postgres
镜像作为基础的自定义Dockerfile创建自己的镜像的方法都可以很好地为您工作。只需创建一个新镜像并将其发布到注册表-这可以是Docker Hub或您自己的私有注册表,与运行器在同一服务器上运行。
然后,在您的. gitlab-ci.yml
中,您将引用您的该图像。以Docker Hub为例:
image: amoe/postgres
…或者在与跑步者位于同一主机上的私有注册表的情况下:
image: localhost:5000/amoe-postgres