BUG #17436: Initializing and starting with Dockerfile fails - Mailing list pgsql-bugs

From PG Bug reporting form
Subject BUG #17436: Initializing and starting with Dockerfile fails
Date
Msg-id 17436-b8a4a3dd58c54838@postgresql.org
Whole thread Raw
Responses Re: BUG #17436: Initializing and starting with Dockerfile fails  (Julien Rouhaud <rjuju123@gmail.com>)
Re: BUG #17436: Initializing and starting with Dockerfile fails  ("David G. Johnston" <david.g.johnston@gmail.com>)
List pgsql-bugs
The following bug has been logged on the website:

Bug reference:      17436
Logged by:          Dustin Keate
Email address:      dkeate@gmail.com
PostgreSQL version: 14.2
Operating system:   Docker/Raspberry Pi OS 64 bit
Description:

Dockerfile contents:

FROM postgres
USER postgres
RUN initdb
RUN pg_ctl -D /var/lib/postgresql/data -l /var/lib/postgresql/data/logfile
start
RUN pg_restore --dbname=dvdrental --create --verbose /var/dvdrental.tar

executing 'docker build .' throws the following error:

Step 4/5 : RUN pg_ctl -D /var/lib/postgresql/data -l
/var/lib/postgresql/data/logfile start
 ---> Running in 8561ab2addbe
pg_ctl: directory "/var/lib/postgresql/data" is not a database cluster
directory

However, starting a new container and running identical commands works.

docker run -it postgres sh
gosu postgres sh
initdb
pg_ctl -D /var/lib/postgresql/data -l /var/lib/postgresql/data/logfile
start
waiting for server to start.... done
server started

To me, these are identical processes, but I may be wrong because docker is
docker. 

There are no volumes attached. These are the only instructions and I
couldn't distill this problem any farther. These are the only commands I am
giving. Something is changing in the intermediate images, somehow.


pgsql-bugs by date:

Previous
From: Andres Freund
Date:
Subject: Re: BUG #17255: Server crashes in index_delete_sort_cmp() due to race condition with vacuum
Next
From: Julien Rouhaud
Date:
Subject: Re: BUG #17436: Initializing and starting with Dockerfile fails