Use `install` instead of `mkdir && chown && chmod`

This commit is contained in:
Tianon Gravi 2024-07-08 15:17:21 -07:00
parent 9bf5a6d620
commit a09f1c441f
26 changed files with 104 additions and 104 deletions

View File

@ -11,8 +11,9 @@ FROM alpine:3.19
RUN set -eux; \ RUN set -eux; \
addgroup -g 70 -S postgres; \ addgroup -g 70 -S postgres; \
adduser -u 70 -S -D -G postgres -H -h /var/lib/postgresql -s /bin/sh postgres; \ adduser -u 70 -S -D -G postgres -H -h /var/lib/postgresql -s /bin/sh postgres; \
mkdir -p /var/lib/postgresql; \ # also create the postgres user's home directory with appropriate permissions
chown -R postgres:postgres /var/lib/postgresql # see https://github.com/docker-library/postgres/issues/274
install --verbose --directory --owner postgres --group postgres --mode 1777 /var/lib/postgresql
# grab gosu for easy step-down from root # grab gosu for easy step-down from root
# https://github.com/tianon/gosu/releases # https://github.com/tianon/gosu/releases
@ -188,11 +189,11 @@ RUN set -eux; \
sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/local/share/postgresql/postgresql.conf.sample; \ sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/local/share/postgresql/postgresql.conf.sample; \
grep -F "listen_addresses = '*'" /usr/local/share/postgresql/postgresql.conf.sample grep -F "listen_addresses = '*'" /usr/local/share/postgresql/postgresql.conf.sample
RUN mkdir -p /var/run/postgresql && chown -R postgres:postgres /var/run/postgresql && chmod 3777 /var/run/postgresql RUN install --verbose --directory --owner postgres --group postgres --mode 3777 /var/run/postgresql
ENV PGDATA /var/lib/postgresql/data ENV PGDATA /var/lib/postgresql/data
# this 1777 will be replaced by 0700 at runtime (allows semi-arbitrary "--user" values) # this 1777 will be replaced by 0700 at runtime (allows semi-arbitrary "--user" values)
RUN mkdir -p "$PGDATA" && chown -R postgres:postgres "$PGDATA" && chmod 1777 "$PGDATA" RUN install --verbose --directory --owner postgres --group postgres --mode 1777 "$PGDATA"
VOLUME /var/lib/postgresql/data VOLUME /var/lib/postgresql/data
COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/ COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/

View File

@ -11,8 +11,9 @@ FROM alpine:3.20
RUN set -eux; \ RUN set -eux; \
addgroup -g 70 -S postgres; \ addgroup -g 70 -S postgres; \
adduser -u 70 -S -D -G postgres -H -h /var/lib/postgresql -s /bin/sh postgres; \ adduser -u 70 -S -D -G postgres -H -h /var/lib/postgresql -s /bin/sh postgres; \
mkdir -p /var/lib/postgresql; \ # also create the postgres user's home directory with appropriate permissions
chown -R postgres:postgres /var/lib/postgresql # see https://github.com/docker-library/postgres/issues/274
install --verbose --directory --owner postgres --group postgres --mode 1777 /var/lib/postgresql
# grab gosu for easy step-down from root # grab gosu for easy step-down from root
# https://github.com/tianon/gosu/releases # https://github.com/tianon/gosu/releases
@ -188,11 +189,11 @@ RUN set -eux; \
sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/local/share/postgresql/postgresql.conf.sample; \ sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/local/share/postgresql/postgresql.conf.sample; \
grep -F "listen_addresses = '*'" /usr/local/share/postgresql/postgresql.conf.sample grep -F "listen_addresses = '*'" /usr/local/share/postgresql/postgresql.conf.sample
RUN mkdir -p /var/run/postgresql && chown -R postgres:postgres /var/run/postgresql && chmod 3777 /var/run/postgresql RUN install --verbose --directory --owner postgres --group postgres --mode 3777 /var/run/postgresql
ENV PGDATA /var/lib/postgresql/data ENV PGDATA /var/lib/postgresql/data
# this 1777 will be replaced by 0700 at runtime (allows semi-arbitrary "--user" values) # this 1777 will be replaced by 0700 at runtime (allows semi-arbitrary "--user" values)
RUN mkdir -p "$PGDATA" && chown -R postgres:postgres "$PGDATA" && chmod 1777 "$PGDATA" RUN install --verbose --directory --owner postgres --group postgres --mode 1777 "$PGDATA"
VOLUME /var/lib/postgresql/data VOLUME /var/lib/postgresql/data
COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/ COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/

View File

@ -13,8 +13,7 @@ RUN set -eux; \
useradd -r -g postgres --uid=999 --home-dir=/var/lib/postgresql --shell=/bin/bash postgres; \ useradd -r -g postgres --uid=999 --home-dir=/var/lib/postgresql --shell=/bin/bash postgres; \
# also create the postgres user's home directory with appropriate permissions # also create the postgres user's home directory with appropriate permissions
# see https://github.com/docker-library/postgres/issues/274 # see https://github.com/docker-library/postgres/issues/274
mkdir -p /var/lib/postgresql; \ install --verbose --directory --owner postgres --group postgres --mode 1777 /var/lib/postgresql
chown -R postgres:postgres /var/lib/postgresql
RUN set -ex; \ RUN set -ex; \
apt-get update; \ apt-get update; \
@ -181,11 +180,11 @@ RUN set -eux; \
sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/share/postgresql/postgresql.conf.sample; \ sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/share/postgresql/postgresql.conf.sample; \
grep -F "listen_addresses = '*'" /usr/share/postgresql/postgresql.conf.sample grep -F "listen_addresses = '*'" /usr/share/postgresql/postgresql.conf.sample
RUN mkdir -p /var/run/postgresql && chown -R postgres:postgres /var/run/postgresql && chmod 3777 /var/run/postgresql RUN install --verbose --directory --owner postgres --group postgres --mode 3777 /var/run/postgresql
ENV PGDATA /var/lib/postgresql/data ENV PGDATA /var/lib/postgresql/data
# this 1777 will be replaced by 0700 at runtime (allows semi-arbitrary "--user" values) # this 1777 will be replaced by 0700 at runtime (allows semi-arbitrary "--user" values)
RUN mkdir -p "$PGDATA" && chown -R postgres:postgres "$PGDATA" && chmod 1777 "$PGDATA" RUN install --verbose --directory --owner postgres --group postgres --mode 1777 "$PGDATA"
VOLUME /var/lib/postgresql/data VOLUME /var/lib/postgresql/data
COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/ COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/

View File

@ -13,8 +13,7 @@ RUN set -eux; \
useradd -r -g postgres --uid=999 --home-dir=/var/lib/postgresql --shell=/bin/bash postgres; \ useradd -r -g postgres --uid=999 --home-dir=/var/lib/postgresql --shell=/bin/bash postgres; \
# also create the postgres user's home directory with appropriate permissions # also create the postgres user's home directory with appropriate permissions
# see https://github.com/docker-library/postgres/issues/274 # see https://github.com/docker-library/postgres/issues/274
mkdir -p /var/lib/postgresql; \ install --verbose --directory --owner postgres --group postgres --mode 1777 /var/lib/postgresql
chown -R postgres:postgres /var/lib/postgresql
RUN set -ex; \ RUN set -ex; \
apt-get update; \ apt-get update; \
@ -181,11 +180,11 @@ RUN set -eux; \
sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/share/postgresql/postgresql.conf.sample; \ sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/share/postgresql/postgresql.conf.sample; \
grep -F "listen_addresses = '*'" /usr/share/postgresql/postgresql.conf.sample grep -F "listen_addresses = '*'" /usr/share/postgresql/postgresql.conf.sample
RUN mkdir -p /var/run/postgresql && chown -R postgres:postgres /var/run/postgresql && chmod 3777 /var/run/postgresql RUN install --verbose --directory --owner postgres --group postgres --mode 3777 /var/run/postgresql
ENV PGDATA /var/lib/postgresql/data ENV PGDATA /var/lib/postgresql/data
# this 1777 will be replaced by 0700 at runtime (allows semi-arbitrary "--user" values) # this 1777 will be replaced by 0700 at runtime (allows semi-arbitrary "--user" values)
RUN mkdir -p "$PGDATA" && chown -R postgres:postgres "$PGDATA" && chmod 1777 "$PGDATA" RUN install --verbose --directory --owner postgres --group postgres --mode 1777 "$PGDATA"
VOLUME /var/lib/postgresql/data VOLUME /var/lib/postgresql/data
COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/ COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/

View File

@ -11,8 +11,9 @@ FROM alpine:3.19
RUN set -eux; \ RUN set -eux; \
addgroup -g 70 -S postgres; \ addgroup -g 70 -S postgres; \
adduser -u 70 -S -D -G postgres -H -h /var/lib/postgresql -s /bin/sh postgres; \ adduser -u 70 -S -D -G postgres -H -h /var/lib/postgresql -s /bin/sh postgres; \
mkdir -p /var/lib/postgresql; \ # also create the postgres user's home directory with appropriate permissions
chown -R postgres:postgres /var/lib/postgresql # see https://github.com/docker-library/postgres/issues/274
install --verbose --directory --owner postgres --group postgres --mode 1777 /var/lib/postgresql
# grab gosu for easy step-down from root # grab gosu for easy step-down from root
# https://github.com/tianon/gosu/releases # https://github.com/tianon/gosu/releases
@ -188,11 +189,11 @@ RUN set -eux; \
sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/local/share/postgresql/postgresql.conf.sample; \ sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/local/share/postgresql/postgresql.conf.sample; \
grep -F "listen_addresses = '*'" /usr/local/share/postgresql/postgresql.conf.sample grep -F "listen_addresses = '*'" /usr/local/share/postgresql/postgresql.conf.sample
RUN mkdir -p /var/run/postgresql && chown -R postgres:postgres /var/run/postgresql && chmod 3777 /var/run/postgresql RUN install --verbose --directory --owner postgres --group postgres --mode 3777 /var/run/postgresql
ENV PGDATA /var/lib/postgresql/data ENV PGDATA /var/lib/postgresql/data
# this 1777 will be replaced by 0700 at runtime (allows semi-arbitrary "--user" values) # this 1777 will be replaced by 0700 at runtime (allows semi-arbitrary "--user" values)
RUN mkdir -p "$PGDATA" && chown -R postgres:postgres "$PGDATA" && chmod 1777 "$PGDATA" RUN install --verbose --directory --owner postgres --group postgres --mode 1777 "$PGDATA"
VOLUME /var/lib/postgresql/data VOLUME /var/lib/postgresql/data
COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/ COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/

View File

@ -11,8 +11,9 @@ FROM alpine:3.20
RUN set -eux; \ RUN set -eux; \
addgroup -g 70 -S postgres; \ addgroup -g 70 -S postgres; \
adduser -u 70 -S -D -G postgres -H -h /var/lib/postgresql -s /bin/sh postgres; \ adduser -u 70 -S -D -G postgres -H -h /var/lib/postgresql -s /bin/sh postgres; \
mkdir -p /var/lib/postgresql; \ # also create the postgres user's home directory with appropriate permissions
chown -R postgres:postgres /var/lib/postgresql # see https://github.com/docker-library/postgres/issues/274
install --verbose --directory --owner postgres --group postgres --mode 1777 /var/lib/postgresql
# grab gosu for easy step-down from root # grab gosu for easy step-down from root
# https://github.com/tianon/gosu/releases # https://github.com/tianon/gosu/releases
@ -188,11 +189,11 @@ RUN set -eux; \
sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/local/share/postgresql/postgresql.conf.sample; \ sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/local/share/postgresql/postgresql.conf.sample; \
grep -F "listen_addresses = '*'" /usr/local/share/postgresql/postgresql.conf.sample grep -F "listen_addresses = '*'" /usr/local/share/postgresql/postgresql.conf.sample
RUN mkdir -p /var/run/postgresql && chown -R postgres:postgres /var/run/postgresql && chmod 3777 /var/run/postgresql RUN install --verbose --directory --owner postgres --group postgres --mode 3777 /var/run/postgresql
ENV PGDATA /var/lib/postgresql/data ENV PGDATA /var/lib/postgresql/data
# this 1777 will be replaced by 0700 at runtime (allows semi-arbitrary "--user" values) # this 1777 will be replaced by 0700 at runtime (allows semi-arbitrary "--user" values)
RUN mkdir -p "$PGDATA" && chown -R postgres:postgres "$PGDATA" && chmod 1777 "$PGDATA" RUN install --verbose --directory --owner postgres --group postgres --mode 1777 "$PGDATA"
VOLUME /var/lib/postgresql/data VOLUME /var/lib/postgresql/data
COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/ COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/

View File

@ -13,8 +13,7 @@ RUN set -eux; \
useradd -r -g postgres --uid=999 --home-dir=/var/lib/postgresql --shell=/bin/bash postgres; \ useradd -r -g postgres --uid=999 --home-dir=/var/lib/postgresql --shell=/bin/bash postgres; \
# also create the postgres user's home directory with appropriate permissions # also create the postgres user's home directory with appropriate permissions
# see https://github.com/docker-library/postgres/issues/274 # see https://github.com/docker-library/postgres/issues/274
mkdir -p /var/lib/postgresql; \ install --verbose --directory --owner postgres --group postgres --mode 1777 /var/lib/postgresql
chown -R postgres:postgres /var/lib/postgresql
RUN set -ex; \ RUN set -ex; \
apt-get update; \ apt-get update; \
@ -183,11 +182,11 @@ RUN set -eux; \
sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/share/postgresql/postgresql.conf.sample; \ sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/share/postgresql/postgresql.conf.sample; \
grep -F "listen_addresses = '*'" /usr/share/postgresql/postgresql.conf.sample grep -F "listen_addresses = '*'" /usr/share/postgresql/postgresql.conf.sample
RUN mkdir -p /var/run/postgresql && chown -R postgres:postgres /var/run/postgresql && chmod 3777 /var/run/postgresql RUN install --verbose --directory --owner postgres --group postgres --mode 3777 /var/run/postgresql
ENV PGDATA /var/lib/postgresql/data ENV PGDATA /var/lib/postgresql/data
# this 1777 will be replaced by 0700 at runtime (allows semi-arbitrary "--user" values) # this 1777 will be replaced by 0700 at runtime (allows semi-arbitrary "--user" values)
RUN mkdir -p "$PGDATA" && chown -R postgres:postgres "$PGDATA" && chmod 1777 "$PGDATA" RUN install --verbose --directory --owner postgres --group postgres --mode 1777 "$PGDATA"
VOLUME /var/lib/postgresql/data VOLUME /var/lib/postgresql/data
COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/ COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/

View File

@ -13,8 +13,7 @@ RUN set -eux; \
useradd -r -g postgres --uid=999 --home-dir=/var/lib/postgresql --shell=/bin/bash postgres; \ useradd -r -g postgres --uid=999 --home-dir=/var/lib/postgresql --shell=/bin/bash postgres; \
# also create the postgres user's home directory with appropriate permissions # also create the postgres user's home directory with appropriate permissions
# see https://github.com/docker-library/postgres/issues/274 # see https://github.com/docker-library/postgres/issues/274
mkdir -p /var/lib/postgresql; \ install --verbose --directory --owner postgres --group postgres --mode 1777 /var/lib/postgresql
chown -R postgres:postgres /var/lib/postgresql
RUN set -ex; \ RUN set -ex; \
apt-get update; \ apt-get update; \
@ -183,11 +182,11 @@ RUN set -eux; \
sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/share/postgresql/postgresql.conf.sample; \ sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/share/postgresql/postgresql.conf.sample; \
grep -F "listen_addresses = '*'" /usr/share/postgresql/postgresql.conf.sample grep -F "listen_addresses = '*'" /usr/share/postgresql/postgresql.conf.sample
RUN mkdir -p /var/run/postgresql && chown -R postgres:postgres /var/run/postgresql && chmod 3777 /var/run/postgresql RUN install --verbose --directory --owner postgres --group postgres --mode 3777 /var/run/postgresql
ENV PGDATA /var/lib/postgresql/data ENV PGDATA /var/lib/postgresql/data
# this 1777 will be replaced by 0700 at runtime (allows semi-arbitrary "--user" values) # this 1777 will be replaced by 0700 at runtime (allows semi-arbitrary "--user" values)
RUN mkdir -p "$PGDATA" && chown -R postgres:postgres "$PGDATA" && chmod 1777 "$PGDATA" RUN install --verbose --directory --owner postgres --group postgres --mode 1777 "$PGDATA"
VOLUME /var/lib/postgresql/data VOLUME /var/lib/postgresql/data
COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/ COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/

View File

@ -11,8 +11,9 @@ FROM alpine:3.19
RUN set -eux; \ RUN set -eux; \
addgroup -g 70 -S postgres; \ addgroup -g 70 -S postgres; \
adduser -u 70 -S -D -G postgres -H -h /var/lib/postgresql -s /bin/sh postgres; \ adduser -u 70 -S -D -G postgres -H -h /var/lib/postgresql -s /bin/sh postgres; \
mkdir -p /var/lib/postgresql; \ # also create the postgres user's home directory with appropriate permissions
chown -R postgres:postgres /var/lib/postgresql # see https://github.com/docker-library/postgres/issues/274
install --verbose --directory --owner postgres --group postgres --mode 1777 /var/lib/postgresql
# grab gosu for easy step-down from root # grab gosu for easy step-down from root
# https://github.com/tianon/gosu/releases # https://github.com/tianon/gosu/releases
@ -191,11 +192,11 @@ RUN set -eux; \
sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/local/share/postgresql/postgresql.conf.sample; \ sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/local/share/postgresql/postgresql.conf.sample; \
grep -F "listen_addresses = '*'" /usr/local/share/postgresql/postgresql.conf.sample grep -F "listen_addresses = '*'" /usr/local/share/postgresql/postgresql.conf.sample
RUN mkdir -p /var/run/postgresql && chown -R postgres:postgres /var/run/postgresql && chmod 3777 /var/run/postgresql RUN install --verbose --directory --owner postgres --group postgres --mode 3777 /var/run/postgresql
ENV PGDATA /var/lib/postgresql/data ENV PGDATA /var/lib/postgresql/data
# this 1777 will be replaced by 0700 at runtime (allows semi-arbitrary "--user" values) # this 1777 will be replaced by 0700 at runtime (allows semi-arbitrary "--user" values)
RUN mkdir -p "$PGDATA" && chown -R postgres:postgres "$PGDATA" && chmod 1777 "$PGDATA" RUN install --verbose --directory --owner postgres --group postgres --mode 1777 "$PGDATA"
VOLUME /var/lib/postgresql/data VOLUME /var/lib/postgresql/data
COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/ COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/

View File

@ -11,8 +11,9 @@ FROM alpine:3.20
RUN set -eux; \ RUN set -eux; \
addgroup -g 70 -S postgres; \ addgroup -g 70 -S postgres; \
adduser -u 70 -S -D -G postgres -H -h /var/lib/postgresql -s /bin/sh postgres; \ adduser -u 70 -S -D -G postgres -H -h /var/lib/postgresql -s /bin/sh postgres; \
mkdir -p /var/lib/postgresql; \ # also create the postgres user's home directory with appropriate permissions
chown -R postgres:postgres /var/lib/postgresql # see https://github.com/docker-library/postgres/issues/274
install --verbose --directory --owner postgres --group postgres --mode 1777 /var/lib/postgresql
# grab gosu for easy step-down from root # grab gosu for easy step-down from root
# https://github.com/tianon/gosu/releases # https://github.com/tianon/gosu/releases
@ -191,11 +192,11 @@ RUN set -eux; \
sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/local/share/postgresql/postgresql.conf.sample; \ sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/local/share/postgresql/postgresql.conf.sample; \
grep -F "listen_addresses = '*'" /usr/local/share/postgresql/postgresql.conf.sample grep -F "listen_addresses = '*'" /usr/local/share/postgresql/postgresql.conf.sample
RUN mkdir -p /var/run/postgresql && chown -R postgres:postgres /var/run/postgresql && chmod 3777 /var/run/postgresql RUN install --verbose --directory --owner postgres --group postgres --mode 3777 /var/run/postgresql
ENV PGDATA /var/lib/postgresql/data ENV PGDATA /var/lib/postgresql/data
# this 1777 will be replaced by 0700 at runtime (allows semi-arbitrary "--user" values) # this 1777 will be replaced by 0700 at runtime (allows semi-arbitrary "--user" values)
RUN mkdir -p "$PGDATA" && chown -R postgres:postgres "$PGDATA" && chmod 1777 "$PGDATA" RUN install --verbose --directory --owner postgres --group postgres --mode 1777 "$PGDATA"
VOLUME /var/lib/postgresql/data VOLUME /var/lib/postgresql/data
COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/ COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/

View File

@ -13,8 +13,7 @@ RUN set -eux; \
useradd -r -g postgres --uid=999 --home-dir=/var/lib/postgresql --shell=/bin/bash postgres; \ useradd -r -g postgres --uid=999 --home-dir=/var/lib/postgresql --shell=/bin/bash postgres; \
# also create the postgres user's home directory with appropriate permissions # also create the postgres user's home directory with appropriate permissions
# see https://github.com/docker-library/postgres/issues/274 # see https://github.com/docker-library/postgres/issues/274
mkdir -p /var/lib/postgresql; \ install --verbose --directory --owner postgres --group postgres --mode 1777 /var/lib/postgresql
chown -R postgres:postgres /var/lib/postgresql
RUN set -ex; \ RUN set -ex; \
apt-get update; \ apt-get update; \
@ -181,11 +180,11 @@ RUN set -eux; \
sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/share/postgresql/postgresql.conf.sample; \ sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/share/postgresql/postgresql.conf.sample; \
grep -F "listen_addresses = '*'" /usr/share/postgresql/postgresql.conf.sample grep -F "listen_addresses = '*'" /usr/share/postgresql/postgresql.conf.sample
RUN mkdir -p /var/run/postgresql && chown -R postgres:postgres /var/run/postgresql && chmod 3777 /var/run/postgresql RUN install --verbose --directory --owner postgres --group postgres --mode 3777 /var/run/postgresql
ENV PGDATA /var/lib/postgresql/data ENV PGDATA /var/lib/postgresql/data
# this 1777 will be replaced by 0700 at runtime (allows semi-arbitrary "--user" values) # this 1777 will be replaced by 0700 at runtime (allows semi-arbitrary "--user" values)
RUN mkdir -p "$PGDATA" && chown -R postgres:postgres "$PGDATA" && chmod 1777 "$PGDATA" RUN install --verbose --directory --owner postgres --group postgres --mode 1777 "$PGDATA"
VOLUME /var/lib/postgresql/data VOLUME /var/lib/postgresql/data
COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/ COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/

View File

@ -13,8 +13,7 @@ RUN set -eux; \
useradd -r -g postgres --uid=999 --home-dir=/var/lib/postgresql --shell=/bin/bash postgres; \ useradd -r -g postgres --uid=999 --home-dir=/var/lib/postgresql --shell=/bin/bash postgres; \
# also create the postgres user's home directory with appropriate permissions # also create the postgres user's home directory with appropriate permissions
# see https://github.com/docker-library/postgres/issues/274 # see https://github.com/docker-library/postgres/issues/274
mkdir -p /var/lib/postgresql; \ install --verbose --directory --owner postgres --group postgres --mode 1777 /var/lib/postgresql
chown -R postgres:postgres /var/lib/postgresql
RUN set -ex; \ RUN set -ex; \
apt-get update; \ apt-get update; \
@ -181,11 +180,11 @@ RUN set -eux; \
sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/share/postgresql/postgresql.conf.sample; \ sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/share/postgresql/postgresql.conf.sample; \
grep -F "listen_addresses = '*'" /usr/share/postgresql/postgresql.conf.sample grep -F "listen_addresses = '*'" /usr/share/postgresql/postgresql.conf.sample
RUN mkdir -p /var/run/postgresql && chown -R postgres:postgres /var/run/postgresql && chmod 3777 /var/run/postgresql RUN install --verbose --directory --owner postgres --group postgres --mode 3777 /var/run/postgresql
ENV PGDATA /var/lib/postgresql/data ENV PGDATA /var/lib/postgresql/data
# this 1777 will be replaced by 0700 at runtime (allows semi-arbitrary "--user" values) # this 1777 will be replaced by 0700 at runtime (allows semi-arbitrary "--user" values)
RUN mkdir -p "$PGDATA" && chown -R postgres:postgres "$PGDATA" && chmod 1777 "$PGDATA" RUN install --verbose --directory --owner postgres --group postgres --mode 1777 "$PGDATA"
VOLUME /var/lib/postgresql/data VOLUME /var/lib/postgresql/data
COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/ COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/

View File

@ -11,8 +11,9 @@ FROM alpine:3.19
RUN set -eux; \ RUN set -eux; \
addgroup -g 70 -S postgres; \ addgroup -g 70 -S postgres; \
adduser -u 70 -S -D -G postgres -H -h /var/lib/postgresql -s /bin/sh postgres; \ adduser -u 70 -S -D -G postgres -H -h /var/lib/postgresql -s /bin/sh postgres; \
mkdir -p /var/lib/postgresql; \ # also create the postgres user's home directory with appropriate permissions
chown -R postgres:postgres /var/lib/postgresql # see https://github.com/docker-library/postgres/issues/274
install --verbose --directory --owner postgres --group postgres --mode 1777 /var/lib/postgresql
# grab gosu for easy step-down from root # grab gosu for easy step-down from root
# https://github.com/tianon/gosu/releases # https://github.com/tianon/gosu/releases
@ -194,11 +195,11 @@ RUN set -eux; \
sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/local/share/postgresql/postgresql.conf.sample; \ sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/local/share/postgresql/postgresql.conf.sample; \
grep -F "listen_addresses = '*'" /usr/local/share/postgresql/postgresql.conf.sample grep -F "listen_addresses = '*'" /usr/local/share/postgresql/postgresql.conf.sample
RUN mkdir -p /var/run/postgresql && chown -R postgres:postgres /var/run/postgresql && chmod 3777 /var/run/postgresql RUN install --verbose --directory --owner postgres --group postgres --mode 3777 /var/run/postgresql
ENV PGDATA /var/lib/postgresql/data ENV PGDATA /var/lib/postgresql/data
# this 1777 will be replaced by 0700 at runtime (allows semi-arbitrary "--user" values) # this 1777 will be replaced by 0700 at runtime (allows semi-arbitrary "--user" values)
RUN mkdir -p "$PGDATA" && chown -R postgres:postgres "$PGDATA" && chmod 1777 "$PGDATA" RUN install --verbose --directory --owner postgres --group postgres --mode 1777 "$PGDATA"
VOLUME /var/lib/postgresql/data VOLUME /var/lib/postgresql/data
COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/ COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/

View File

@ -11,8 +11,9 @@ FROM alpine:3.20
RUN set -eux; \ RUN set -eux; \
addgroup -g 70 -S postgres; \ addgroup -g 70 -S postgres; \
adduser -u 70 -S -D -G postgres -H -h /var/lib/postgresql -s /bin/sh postgres; \ adduser -u 70 -S -D -G postgres -H -h /var/lib/postgresql -s /bin/sh postgres; \
mkdir -p /var/lib/postgresql; \ # also create the postgres user's home directory with appropriate permissions
chown -R postgres:postgres /var/lib/postgresql # see https://github.com/docker-library/postgres/issues/274
install --verbose --directory --owner postgres --group postgres --mode 1777 /var/lib/postgresql
# grab gosu for easy step-down from root # grab gosu for easy step-down from root
# https://github.com/tianon/gosu/releases # https://github.com/tianon/gosu/releases
@ -194,11 +195,11 @@ RUN set -eux; \
sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/local/share/postgresql/postgresql.conf.sample; \ sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/local/share/postgresql/postgresql.conf.sample; \
grep -F "listen_addresses = '*'" /usr/local/share/postgresql/postgresql.conf.sample grep -F "listen_addresses = '*'" /usr/local/share/postgresql/postgresql.conf.sample
RUN mkdir -p /var/run/postgresql && chown -R postgres:postgres /var/run/postgresql && chmod 3777 /var/run/postgresql RUN install --verbose --directory --owner postgres --group postgres --mode 3777 /var/run/postgresql
ENV PGDATA /var/lib/postgresql/data ENV PGDATA /var/lib/postgresql/data
# this 1777 will be replaced by 0700 at runtime (allows semi-arbitrary "--user" values) # this 1777 will be replaced by 0700 at runtime (allows semi-arbitrary "--user" values)
RUN mkdir -p "$PGDATA" && chown -R postgres:postgres "$PGDATA" && chmod 1777 "$PGDATA" RUN install --verbose --directory --owner postgres --group postgres --mode 1777 "$PGDATA"
VOLUME /var/lib/postgresql/data VOLUME /var/lib/postgresql/data
COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/ COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/

View File

@ -13,8 +13,7 @@ RUN set -eux; \
useradd -r -g postgres --uid=999 --home-dir=/var/lib/postgresql --shell=/bin/bash postgres; \ useradd -r -g postgres --uid=999 --home-dir=/var/lib/postgresql --shell=/bin/bash postgres; \
# also create the postgres user's home directory with appropriate permissions # also create the postgres user's home directory with appropriate permissions
# see https://github.com/docker-library/postgres/issues/274 # see https://github.com/docker-library/postgres/issues/274
mkdir -p /var/lib/postgresql; \ install --verbose --directory --owner postgres --group postgres --mode 1777 /var/lib/postgresql
chown -R postgres:postgres /var/lib/postgresql
RUN set -ex; \ RUN set -ex; \
apt-get update; \ apt-get update; \
@ -181,11 +180,11 @@ RUN set -eux; \
sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/share/postgresql/postgresql.conf.sample; \ sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/share/postgresql/postgresql.conf.sample; \
grep -F "listen_addresses = '*'" /usr/share/postgresql/postgresql.conf.sample grep -F "listen_addresses = '*'" /usr/share/postgresql/postgresql.conf.sample
RUN mkdir -p /var/run/postgresql && chown -R postgres:postgres /var/run/postgresql && chmod 3777 /var/run/postgresql RUN install --verbose --directory --owner postgres --group postgres --mode 3777 /var/run/postgresql
ENV PGDATA /var/lib/postgresql/data ENV PGDATA /var/lib/postgresql/data
# this 1777 will be replaced by 0700 at runtime (allows semi-arbitrary "--user" values) # this 1777 will be replaced by 0700 at runtime (allows semi-arbitrary "--user" values)
RUN mkdir -p "$PGDATA" && chown -R postgres:postgres "$PGDATA" && chmod 1777 "$PGDATA" RUN install --verbose --directory --owner postgres --group postgres --mode 1777 "$PGDATA"
VOLUME /var/lib/postgresql/data VOLUME /var/lib/postgresql/data
COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/ COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/

View File

@ -13,8 +13,7 @@ RUN set -eux; \
useradd -r -g postgres --uid=999 --home-dir=/var/lib/postgresql --shell=/bin/bash postgres; \ useradd -r -g postgres --uid=999 --home-dir=/var/lib/postgresql --shell=/bin/bash postgres; \
# also create the postgres user's home directory with appropriate permissions # also create the postgres user's home directory with appropriate permissions
# see https://github.com/docker-library/postgres/issues/274 # see https://github.com/docker-library/postgres/issues/274
mkdir -p /var/lib/postgresql; \ install --verbose --directory --owner postgres --group postgres --mode 1777 /var/lib/postgresql
chown -R postgres:postgres /var/lib/postgresql
RUN set -ex; \ RUN set -ex; \
apt-get update; \ apt-get update; \
@ -181,11 +180,11 @@ RUN set -eux; \
sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/share/postgresql/postgresql.conf.sample; \ sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/share/postgresql/postgresql.conf.sample; \
grep -F "listen_addresses = '*'" /usr/share/postgresql/postgresql.conf.sample grep -F "listen_addresses = '*'" /usr/share/postgresql/postgresql.conf.sample
RUN mkdir -p /var/run/postgresql && chown -R postgres:postgres /var/run/postgresql && chmod 3777 /var/run/postgresql RUN install --verbose --directory --owner postgres --group postgres --mode 3777 /var/run/postgresql
ENV PGDATA /var/lib/postgresql/data ENV PGDATA /var/lib/postgresql/data
# this 1777 will be replaced by 0700 at runtime (allows semi-arbitrary "--user" values) # this 1777 will be replaced by 0700 at runtime (allows semi-arbitrary "--user" values)
RUN mkdir -p "$PGDATA" && chown -R postgres:postgres "$PGDATA" && chmod 1777 "$PGDATA" RUN install --verbose --directory --owner postgres --group postgres --mode 1777 "$PGDATA"
VOLUME /var/lib/postgresql/data VOLUME /var/lib/postgresql/data
COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/ COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/

View File

@ -11,8 +11,9 @@ FROM alpine:3.19
RUN set -eux; \ RUN set -eux; \
addgroup -g 70 -S postgres; \ addgroup -g 70 -S postgres; \
adduser -u 70 -S -D -G postgres -H -h /var/lib/postgresql -s /bin/sh postgres; \ adduser -u 70 -S -D -G postgres -H -h /var/lib/postgresql -s /bin/sh postgres; \
mkdir -p /var/lib/postgresql; \ # also create the postgres user's home directory with appropriate permissions
chown -R postgres:postgres /var/lib/postgresql # see https://github.com/docker-library/postgres/issues/274
install --verbose --directory --owner postgres --group postgres --mode 1777 /var/lib/postgresql
# grab gosu for easy step-down from root # grab gosu for easy step-down from root
# https://github.com/tianon/gosu/releases # https://github.com/tianon/gosu/releases
@ -193,11 +194,11 @@ RUN set -eux; \
sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/local/share/postgresql/postgresql.conf.sample; \ sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/local/share/postgresql/postgresql.conf.sample; \
grep -F "listen_addresses = '*'" /usr/local/share/postgresql/postgresql.conf.sample grep -F "listen_addresses = '*'" /usr/local/share/postgresql/postgresql.conf.sample
RUN mkdir -p /var/run/postgresql && chown -R postgres:postgres /var/run/postgresql && chmod 3777 /var/run/postgresql RUN install --verbose --directory --owner postgres --group postgres --mode 3777 /var/run/postgresql
ENV PGDATA /var/lib/postgresql/data ENV PGDATA /var/lib/postgresql/data
# this 1777 will be replaced by 0700 at runtime (allows semi-arbitrary "--user" values) # this 1777 will be replaced by 0700 at runtime (allows semi-arbitrary "--user" values)
RUN mkdir -p "$PGDATA" && chown -R postgres:postgres "$PGDATA" && chmod 1777 "$PGDATA" RUN install --verbose --directory --owner postgres --group postgres --mode 1777 "$PGDATA"
VOLUME /var/lib/postgresql/data VOLUME /var/lib/postgresql/data
COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/ COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/

View File

@ -11,8 +11,9 @@ FROM alpine:3.20
RUN set -eux; \ RUN set -eux; \
addgroup -g 70 -S postgres; \ addgroup -g 70 -S postgres; \
adduser -u 70 -S -D -G postgres -H -h /var/lib/postgresql -s /bin/sh postgres; \ adduser -u 70 -S -D -G postgres -H -h /var/lib/postgresql -s /bin/sh postgres; \
mkdir -p /var/lib/postgresql; \ # also create the postgres user's home directory with appropriate permissions
chown -R postgres:postgres /var/lib/postgresql # see https://github.com/docker-library/postgres/issues/274
install --verbose --directory --owner postgres --group postgres --mode 1777 /var/lib/postgresql
# grab gosu for easy step-down from root # grab gosu for easy step-down from root
# https://github.com/tianon/gosu/releases # https://github.com/tianon/gosu/releases
@ -193,11 +194,11 @@ RUN set -eux; \
sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/local/share/postgresql/postgresql.conf.sample; \ sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/local/share/postgresql/postgresql.conf.sample; \
grep -F "listen_addresses = '*'" /usr/local/share/postgresql/postgresql.conf.sample grep -F "listen_addresses = '*'" /usr/local/share/postgresql/postgresql.conf.sample
RUN mkdir -p /var/run/postgresql && chown -R postgres:postgres /var/run/postgresql && chmod 3777 /var/run/postgresql RUN install --verbose --directory --owner postgres --group postgres --mode 3777 /var/run/postgresql
ENV PGDATA /var/lib/postgresql/data ENV PGDATA /var/lib/postgresql/data
# this 1777 will be replaced by 0700 at runtime (allows semi-arbitrary "--user" values) # this 1777 will be replaced by 0700 at runtime (allows semi-arbitrary "--user" values)
RUN mkdir -p "$PGDATA" && chown -R postgres:postgres "$PGDATA" && chmod 1777 "$PGDATA" RUN install --verbose --directory --owner postgres --group postgres --mode 1777 "$PGDATA"
VOLUME /var/lib/postgresql/data VOLUME /var/lib/postgresql/data
COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/ COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/

View File

@ -13,8 +13,7 @@ RUN set -eux; \
useradd -r -g postgres --uid=999 --home-dir=/var/lib/postgresql --shell=/bin/bash postgres; \ useradd -r -g postgres --uid=999 --home-dir=/var/lib/postgresql --shell=/bin/bash postgres; \
# also create the postgres user's home directory with appropriate permissions # also create the postgres user's home directory with appropriate permissions
# see https://github.com/docker-library/postgres/issues/274 # see https://github.com/docker-library/postgres/issues/274
mkdir -p /var/lib/postgresql; \ install --verbose --directory --owner postgres --group postgres --mode 1777 /var/lib/postgresql
chown -R postgres:postgres /var/lib/postgresql
RUN set -ex; \ RUN set -ex; \
apt-get update; \ apt-get update; \
@ -181,11 +180,11 @@ RUN set -eux; \
sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/share/postgresql/postgresql.conf.sample; \ sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/share/postgresql/postgresql.conf.sample; \
grep -F "listen_addresses = '*'" /usr/share/postgresql/postgresql.conf.sample grep -F "listen_addresses = '*'" /usr/share/postgresql/postgresql.conf.sample
RUN mkdir -p /var/run/postgresql && chown -R postgres:postgres /var/run/postgresql && chmod 3777 /var/run/postgresql RUN install --verbose --directory --owner postgres --group postgres --mode 3777 /var/run/postgresql
ENV PGDATA /var/lib/postgresql/data ENV PGDATA /var/lib/postgresql/data
# this 1777 will be replaced by 0700 at runtime (allows semi-arbitrary "--user" values) # this 1777 will be replaced by 0700 at runtime (allows semi-arbitrary "--user" values)
RUN mkdir -p "$PGDATA" && chown -R postgres:postgres "$PGDATA" && chmod 1777 "$PGDATA" RUN install --verbose --directory --owner postgres --group postgres --mode 1777 "$PGDATA"
VOLUME /var/lib/postgresql/data VOLUME /var/lib/postgresql/data
COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/ COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/

View File

@ -13,8 +13,7 @@ RUN set -eux; \
useradd -r -g postgres --uid=999 --home-dir=/var/lib/postgresql --shell=/bin/bash postgres; \ useradd -r -g postgres --uid=999 --home-dir=/var/lib/postgresql --shell=/bin/bash postgres; \
# also create the postgres user's home directory with appropriate permissions # also create the postgres user's home directory with appropriate permissions
# see https://github.com/docker-library/postgres/issues/274 # see https://github.com/docker-library/postgres/issues/274
mkdir -p /var/lib/postgresql; \ install --verbose --directory --owner postgres --group postgres --mode 1777 /var/lib/postgresql
chown -R postgres:postgres /var/lib/postgresql
RUN set -ex; \ RUN set -ex; \
apt-get update; \ apt-get update; \
@ -181,11 +180,11 @@ RUN set -eux; \
sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/share/postgresql/postgresql.conf.sample; \ sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/share/postgresql/postgresql.conf.sample; \
grep -F "listen_addresses = '*'" /usr/share/postgresql/postgresql.conf.sample grep -F "listen_addresses = '*'" /usr/share/postgresql/postgresql.conf.sample
RUN mkdir -p /var/run/postgresql && chown -R postgres:postgres /var/run/postgresql && chmod 3777 /var/run/postgresql RUN install --verbose --directory --owner postgres --group postgres --mode 3777 /var/run/postgresql
ENV PGDATA /var/lib/postgresql/data ENV PGDATA /var/lib/postgresql/data
# this 1777 will be replaced by 0700 at runtime (allows semi-arbitrary "--user" values) # this 1777 will be replaced by 0700 at runtime (allows semi-arbitrary "--user" values)
RUN mkdir -p "$PGDATA" && chown -R postgres:postgres "$PGDATA" && chmod 1777 "$PGDATA" RUN install --verbose --directory --owner postgres --group postgres --mode 1777 "$PGDATA"
VOLUME /var/lib/postgresql/data VOLUME /var/lib/postgresql/data
COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/ COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/

View File

@ -11,8 +11,9 @@ FROM alpine:3.19
RUN set -eux; \ RUN set -eux; \
addgroup -g 70 -S postgres; \ addgroup -g 70 -S postgres; \
adduser -u 70 -S -D -G postgres -H -h /var/lib/postgresql -s /bin/sh postgres; \ adduser -u 70 -S -D -G postgres -H -h /var/lib/postgresql -s /bin/sh postgres; \
mkdir -p /var/lib/postgresql; \ # also create the postgres user's home directory with appropriate permissions
chown -R postgres:postgres /var/lib/postgresql # see https://github.com/docker-library/postgres/issues/274
install --verbose --directory --owner postgres --group postgres --mode 1777 /var/lib/postgresql
# grab gosu for easy step-down from root # grab gosu for easy step-down from root
# https://github.com/tianon/gosu/releases # https://github.com/tianon/gosu/releases
@ -191,11 +192,11 @@ RUN set -eux; \
sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/local/share/postgresql/postgresql.conf.sample; \ sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/local/share/postgresql/postgresql.conf.sample; \
grep -F "listen_addresses = '*'" /usr/local/share/postgresql/postgresql.conf.sample grep -F "listen_addresses = '*'" /usr/local/share/postgresql/postgresql.conf.sample
RUN mkdir -p /var/run/postgresql && chown -R postgres:postgres /var/run/postgresql && chmod 3777 /var/run/postgresql RUN install --verbose --directory --owner postgres --group postgres --mode 3777 /var/run/postgresql
ENV PGDATA /var/lib/postgresql/data ENV PGDATA /var/lib/postgresql/data
# this 1777 will be replaced by 0700 at runtime (allows semi-arbitrary "--user" values) # this 1777 will be replaced by 0700 at runtime (allows semi-arbitrary "--user" values)
RUN mkdir -p "$PGDATA" && chown -R postgres:postgres "$PGDATA" && chmod 1777 "$PGDATA" RUN install --verbose --directory --owner postgres --group postgres --mode 1777 "$PGDATA"
VOLUME /var/lib/postgresql/data VOLUME /var/lib/postgresql/data
COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/ COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/

View File

@ -11,8 +11,9 @@ FROM alpine:3.20
RUN set -eux; \ RUN set -eux; \
addgroup -g 70 -S postgres; \ addgroup -g 70 -S postgres; \
adduser -u 70 -S -D -G postgres -H -h /var/lib/postgresql -s /bin/sh postgres; \ adduser -u 70 -S -D -G postgres -H -h /var/lib/postgresql -s /bin/sh postgres; \
mkdir -p /var/lib/postgresql; \ # also create the postgres user's home directory with appropriate permissions
chown -R postgres:postgres /var/lib/postgresql # see https://github.com/docker-library/postgres/issues/274
install --verbose --directory --owner postgres --group postgres --mode 1777 /var/lib/postgresql
# grab gosu for easy step-down from root # grab gosu for easy step-down from root
# https://github.com/tianon/gosu/releases # https://github.com/tianon/gosu/releases
@ -191,11 +192,11 @@ RUN set -eux; \
sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/local/share/postgresql/postgresql.conf.sample; \ sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/local/share/postgresql/postgresql.conf.sample; \
grep -F "listen_addresses = '*'" /usr/local/share/postgresql/postgresql.conf.sample grep -F "listen_addresses = '*'" /usr/local/share/postgresql/postgresql.conf.sample
RUN mkdir -p /var/run/postgresql && chown -R postgres:postgres /var/run/postgresql && chmod 3777 /var/run/postgresql RUN install --verbose --directory --owner postgres --group postgres --mode 3777 /var/run/postgresql
ENV PGDATA /var/lib/postgresql/data ENV PGDATA /var/lib/postgresql/data
# this 1777 will be replaced by 0700 at runtime (allows semi-arbitrary "--user" values) # this 1777 will be replaced by 0700 at runtime (allows semi-arbitrary "--user" values)
RUN mkdir -p "$PGDATA" && chown -R postgres:postgres "$PGDATA" && chmod 1777 "$PGDATA" RUN install --verbose --directory --owner postgres --group postgres --mode 1777 "$PGDATA"
VOLUME /var/lib/postgresql/data VOLUME /var/lib/postgresql/data
COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/ COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/

View File

@ -13,8 +13,7 @@ RUN set -eux; \
useradd -r -g postgres --uid=999 --home-dir=/var/lib/postgresql --shell=/bin/bash postgres; \ useradd -r -g postgres --uid=999 --home-dir=/var/lib/postgresql --shell=/bin/bash postgres; \
# also create the postgres user's home directory with appropriate permissions # also create the postgres user's home directory with appropriate permissions
# see https://github.com/docker-library/postgres/issues/274 # see https://github.com/docker-library/postgres/issues/274
mkdir -p /var/lib/postgresql; \ install --verbose --directory --owner postgres --group postgres --mode 1777 /var/lib/postgresql
chown -R postgres:postgres /var/lib/postgresql
RUN set -ex; \ RUN set -ex; \
apt-get update; \ apt-get update; \
@ -181,11 +180,11 @@ RUN set -eux; \
sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/share/postgresql/postgresql.conf.sample; \ sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/share/postgresql/postgresql.conf.sample; \
grep -F "listen_addresses = '*'" /usr/share/postgresql/postgresql.conf.sample grep -F "listen_addresses = '*'" /usr/share/postgresql/postgresql.conf.sample
RUN mkdir -p /var/run/postgresql && chown -R postgres:postgres /var/run/postgresql && chmod 3777 /var/run/postgresql RUN install --verbose --directory --owner postgres --group postgres --mode 3777 /var/run/postgresql
ENV PGDATA /var/lib/postgresql/data ENV PGDATA /var/lib/postgresql/data
# this 1777 will be replaced by 0700 at runtime (allows semi-arbitrary "--user" values) # this 1777 will be replaced by 0700 at runtime (allows semi-arbitrary "--user" values)
RUN mkdir -p "$PGDATA" && chown -R postgres:postgres "$PGDATA" && chmod 1777 "$PGDATA" RUN install --verbose --directory --owner postgres --group postgres --mode 1777 "$PGDATA"
VOLUME /var/lib/postgresql/data VOLUME /var/lib/postgresql/data
COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/ COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/

View File

@ -13,8 +13,7 @@ RUN set -eux; \
useradd -r -g postgres --uid=999 --home-dir=/var/lib/postgresql --shell=/bin/bash postgres; \ useradd -r -g postgres --uid=999 --home-dir=/var/lib/postgresql --shell=/bin/bash postgres; \
# also create the postgres user's home directory with appropriate permissions # also create the postgres user's home directory with appropriate permissions
# see https://github.com/docker-library/postgres/issues/274 # see https://github.com/docker-library/postgres/issues/274
mkdir -p /var/lib/postgresql; \ install --verbose --directory --owner postgres --group postgres --mode 1777 /var/lib/postgresql
chown -R postgres:postgres /var/lib/postgresql
RUN set -ex; \ RUN set -ex; \
apt-get update; \ apt-get update; \
@ -181,11 +180,11 @@ RUN set -eux; \
sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/share/postgresql/postgresql.conf.sample; \ sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/share/postgresql/postgresql.conf.sample; \
grep -F "listen_addresses = '*'" /usr/share/postgresql/postgresql.conf.sample grep -F "listen_addresses = '*'" /usr/share/postgresql/postgresql.conf.sample
RUN mkdir -p /var/run/postgresql && chown -R postgres:postgres /var/run/postgresql && chmod 3777 /var/run/postgresql RUN install --verbose --directory --owner postgres --group postgres --mode 3777 /var/run/postgresql
ENV PGDATA /var/lib/postgresql/data ENV PGDATA /var/lib/postgresql/data
# this 1777 will be replaced by 0700 at runtime (allows semi-arbitrary "--user" values) # this 1777 will be replaced by 0700 at runtime (allows semi-arbitrary "--user" values)
RUN mkdir -p "$PGDATA" && chown -R postgres:postgres "$PGDATA" && chmod 1777 "$PGDATA" RUN install --verbose --directory --owner postgres --group postgres --mode 1777 "$PGDATA"
VOLUME /var/lib/postgresql/data VOLUME /var/lib/postgresql/data
COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/ COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/

View File

@ -5,8 +5,9 @@ FROM alpine:{{ env.variant | ltrimstr("alpine") }}
RUN set -eux; \ RUN set -eux; \
addgroup -g 70 -S postgres; \ addgroup -g 70 -S postgres; \
adduser -u 70 -S -D -G postgres -H -h /var/lib/postgresql -s /bin/sh postgres; \ adduser -u 70 -S -D -G postgres -H -h /var/lib/postgresql -s /bin/sh postgres; \
mkdir -p /var/lib/postgresql; \ # also create the postgres user's home directory with appropriate permissions
chown -R postgres:postgres /var/lib/postgresql # see https://github.com/docker-library/postgres/issues/274
install --verbose --directory --owner postgres --group postgres --mode 1777 /var/lib/postgresql
# grab gosu for easy step-down from root # grab gosu for easy step-down from root
# https://github.com/tianon/gosu/releases # https://github.com/tianon/gosu/releases
@ -206,11 +207,11 @@ RUN set -eux; \
sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/local/share/postgresql/postgresql.conf.sample; \ sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/local/share/postgresql/postgresql.conf.sample; \
grep -F "listen_addresses = '*'" /usr/local/share/postgresql/postgresql.conf.sample grep -F "listen_addresses = '*'" /usr/local/share/postgresql/postgresql.conf.sample
RUN mkdir -p /var/run/postgresql && chown -R postgres:postgres /var/run/postgresql && chmod 3777 /var/run/postgresql RUN install --verbose --directory --owner postgres --group postgres --mode 3777 /var/run/postgresql
ENV PGDATA /var/lib/postgresql/data ENV PGDATA /var/lib/postgresql/data
# this 1777 will be replaced by 0700 at runtime (allows semi-arbitrary "--user" values) # this 1777 will be replaced by 0700 at runtime (allows semi-arbitrary "--user" values)
RUN mkdir -p "$PGDATA" && chown -R postgres:postgres "$PGDATA" && chmod 1777 "$PGDATA" RUN install --verbose --directory --owner postgres --group postgres --mode 1777 "$PGDATA"
VOLUME /var/lib/postgresql/data VOLUME /var/lib/postgresql/data
COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/ COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/

View File

@ -7,8 +7,7 @@ RUN set -eux; \
useradd -r -g postgres --uid=999 --home-dir=/var/lib/postgresql --shell=/bin/bash postgres; \ useradd -r -g postgres --uid=999 --home-dir=/var/lib/postgresql --shell=/bin/bash postgres; \
# also create the postgres user's home directory with appropriate permissions # also create the postgres user's home directory with appropriate permissions
# see https://github.com/docker-library/postgres/issues/274 # see https://github.com/docker-library/postgres/issues/274
mkdir -p /var/lib/postgresql; \ install --verbose --directory --owner postgres --group postgres --mode 1777 /var/lib/postgresql
chown -R postgres:postgres /var/lib/postgresql
RUN set -ex; \ RUN set -ex; \
apt-get update; \ apt-get update; \
@ -179,11 +178,11 @@ RUN set -eux; \
sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/share/postgresql/postgresql.conf.sample; \ sed -ri "s!^#?(listen_addresses)\s*=\s*\S+.*!\1 = '*'!" /usr/share/postgresql/postgresql.conf.sample; \
grep -F "listen_addresses = '*'" /usr/share/postgresql/postgresql.conf.sample grep -F "listen_addresses = '*'" /usr/share/postgresql/postgresql.conf.sample
RUN mkdir -p /var/run/postgresql && chown -R postgres:postgres /var/run/postgresql && chmod 3777 /var/run/postgresql RUN install --verbose --directory --owner postgres --group postgres --mode 3777 /var/run/postgresql
ENV PGDATA /var/lib/postgresql/data ENV PGDATA /var/lib/postgresql/data
# this 1777 will be replaced by 0700 at runtime (allows semi-arbitrary "--user" values) # this 1777 will be replaced by 0700 at runtime (allows semi-arbitrary "--user" values)
RUN mkdir -p "$PGDATA" && chown -R postgres:postgres "$PGDATA" && chmod 1777 "$PGDATA" RUN install --verbose --directory --owner postgres --group postgres --mode 1777 "$PGDATA"
VOLUME /var/lib/postgresql/data VOLUME /var/lib/postgresql/data
COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/ COPY docker-entrypoint.sh docker-ensure-initdb.sh /usr/local/bin/