Re: postgres and initdb not working inside docker - Mailing list pgsql-hackers

From Feike Steenbergen
Subject Re: postgres and initdb not working inside docker
Date
Msg-id CAK_s-G0xQj0NbePdAmyd3SBw_F=C+s1qTLTCBihCemRttXM5iw@mail.gmail.com
Whole thread Raw
In response to Re: postgres and initdb not working inside docker  (Roffild <roffild@hotmail.com>)
List pgsql-hackers


On Sat, May 28, 2022, 18:35 Roffild <roffild@hotmail.com> wrote:

> But the volume mount has a limitation with chmod 755. I don't want to
> write the database directly to the container.

Using a $PGDATA subdirectory in a mounted Volume allows you to run with 0700
and also retain this limitation you mention. I don't believe this limitation is a limitation
of Docker - AFAIK Docker uses the permissions from the Host Directory for the Mount.

In my experience we have been using (since 2014?)  a subdirectory of the mounted Volume
and run a statement similar to this on startup of your container, before starting postgres/initdb or the like

install -o postgres -g postgres -d -m 0700 "${PGDATA}"

> The world has changed! And the old standards don't work...

There's enough people running Postgres in Docker containers in production for almost a decade.
It does work!

Kind regards,

Feike Steenbergen

pgsql-hackers by date:

Previous
From: "David G. Johnston"
Date:
Subject: Re: postgres and initdb not working inside docker
Next
From: "Daniel Verite"
Date:
Subject: Re: ICU_LOCALE set database default icu collation but not working as intended.