diff --git a/10/alpine/Dockerfile b/10/alpine/Dockerfile index 4a1b1d9d1c..b3e06e4699 100644 --- a/10/alpine/Dockerfile +++ b/10/alpine/Dockerfile @@ -1,17 +1,13 @@ # vim:set ft=dockerfile: FROM alpine:3.11 -# alpine includes "postgres" user/group in base install -# /etc/passwd:22:postgres:x:70:70::/var/lib/postgresql:/bin/sh -# /etc/group:34:postgres:x:70: -# the home directory for the postgres user, however, is not created by default -# see https://github.com/docker-library/postgres/issues/274 -RUN set -ex; \ - postgresHome="$(getent passwd postgres)"; \ - postgresHome="$(echo "$postgresHome" | cut -d: -f6)"; \ - [ "$postgresHome" = '/var/lib/postgresql' ]; \ - mkdir -p "$postgresHome"; \ - chown -R postgres:postgres "$postgresHome" +# 70 is the standard uid/gid for "postgres" in Alpine +# https://git.alpinelinux.org/aports/tree/main/postgresql/postgresql.pre-install?h=3.11-stable +RUN set -eux; \ + addgroup -g 70 -S postgres; \ + adduser -u 70 -S -D -G postgres postgres; \ + mkdir -p /var/lib/postgresql; \ + chown -R postgres:postgres /var/lib/postgresql # su-exec (gosu-compatible) is installed further down diff --git a/11/alpine/Dockerfile b/11/alpine/Dockerfile index 5264a065c3..7802e06a13 100644 --- a/11/alpine/Dockerfile +++ b/11/alpine/Dockerfile @@ -1,17 +1,13 @@ # vim:set ft=dockerfile: FROM alpine:3.11 -# alpine includes "postgres" user/group in base install -# /etc/passwd:22:postgres:x:70:70::/var/lib/postgresql:/bin/sh -# /etc/group:34:postgres:x:70: -# the home directory for the postgres user, however, is not created by default -# see https://github.com/docker-library/postgres/issues/274 -RUN set -ex; \ - postgresHome="$(getent passwd postgres)"; \ - postgresHome="$(echo "$postgresHome" | cut -d: -f6)"; \ - [ "$postgresHome" = '/var/lib/postgresql' ]; \ - mkdir -p "$postgresHome"; \ - chown -R postgres:postgres "$postgresHome" +# 70 is the standard uid/gid for "postgres" in Alpine +# https://git.alpinelinux.org/aports/tree/main/postgresql/postgresql.pre-install?h=3.11-stable +RUN set -eux; \ + addgroup -g 70 -S postgres; \ + adduser -u 70 -S -D -G postgres postgres; \ + mkdir -p /var/lib/postgresql; \ + chown -R postgres:postgres /var/lib/postgresql # su-exec (gosu-compatible) is installed further down diff --git a/12/alpine/Dockerfile b/12/alpine/Dockerfile index 650fabc1e4..601ea39ea5 100644 --- a/12/alpine/Dockerfile +++ b/12/alpine/Dockerfile @@ -1,17 +1,13 @@ # vim:set ft=dockerfile: FROM alpine:3.11 -# alpine includes "postgres" user/group in base install -# /etc/passwd:22:postgres:x:70:70::/var/lib/postgresql:/bin/sh -# /etc/group:34:postgres:x:70: -# the home directory for the postgres user, however, is not created by default -# see https://github.com/docker-library/postgres/issues/274 -RUN set -ex; \ - postgresHome="$(getent passwd postgres)"; \ - postgresHome="$(echo "$postgresHome" | cut -d: -f6)"; \ - [ "$postgresHome" = '/var/lib/postgresql' ]; \ - mkdir -p "$postgresHome"; \ - chown -R postgres:postgres "$postgresHome" +# 70 is the standard uid/gid for "postgres" in Alpine +# https://git.alpinelinux.org/aports/tree/main/postgresql/postgresql.pre-install?h=3.11-stable +RUN set -eux; \ + addgroup -g 70 -S postgres; \ + adduser -u 70 -S -D -G postgres postgres; \ + mkdir -p /var/lib/postgresql; \ + chown -R postgres:postgres /var/lib/postgresql # su-exec (gosu-compatible) is installed further down diff --git a/9.4/alpine/Dockerfile b/9.4/alpine/Dockerfile index 3d4684067e..5999fc5dba 100644 --- a/9.4/alpine/Dockerfile +++ b/9.4/alpine/Dockerfile @@ -1,17 +1,13 @@ # vim:set ft=dockerfile: FROM alpine:3.11 -# alpine includes "postgres" user/group in base install -# /etc/passwd:22:postgres:x:70:70::/var/lib/postgresql:/bin/sh -# /etc/group:34:postgres:x:70: -# the home directory for the postgres user, however, is not created by default -# see https://github.com/docker-library/postgres/issues/274 -RUN set -ex; \ - postgresHome="$(getent passwd postgres)"; \ - postgresHome="$(echo "$postgresHome" | cut -d: -f6)"; \ - [ "$postgresHome" = '/var/lib/postgresql' ]; \ - mkdir -p "$postgresHome"; \ - chown -R postgres:postgres "$postgresHome" +# 70 is the standard uid/gid for "postgres" in Alpine +# https://git.alpinelinux.org/aports/tree/main/postgresql/postgresql.pre-install?h=3.11-stable +RUN set -eux; \ + addgroup -g 70 -S postgres; \ + adduser -u 70 -S -D -G postgres postgres; \ + mkdir -p /var/lib/postgresql; \ + chown -R postgres:postgres /var/lib/postgresql # su-exec (gosu-compatible) is installed further down diff --git a/9.5/alpine/Dockerfile b/9.5/alpine/Dockerfile index 91838507af..07afd887cb 100644 --- a/9.5/alpine/Dockerfile +++ b/9.5/alpine/Dockerfile @@ -1,17 +1,13 @@ # vim:set ft=dockerfile: FROM alpine:3.11 -# alpine includes "postgres" user/group in base install -# /etc/passwd:22:postgres:x:70:70::/var/lib/postgresql:/bin/sh -# /etc/group:34:postgres:x:70: -# the home directory for the postgres user, however, is not created by default -# see https://github.com/docker-library/postgres/issues/274 -RUN set -ex; \ - postgresHome="$(getent passwd postgres)"; \ - postgresHome="$(echo "$postgresHome" | cut -d: -f6)"; \ - [ "$postgresHome" = '/var/lib/postgresql' ]; \ - mkdir -p "$postgresHome"; \ - chown -R postgres:postgres "$postgresHome" +# 70 is the standard uid/gid for "postgres" in Alpine +# https://git.alpinelinux.org/aports/tree/main/postgresql/postgresql.pre-install?h=3.11-stable +RUN set -eux; \ + addgroup -g 70 -S postgres; \ + adduser -u 70 -S -D -G postgres postgres; \ + mkdir -p /var/lib/postgresql; \ + chown -R postgres:postgres /var/lib/postgresql # su-exec (gosu-compatible) is installed further down diff --git a/9.6/alpine/Dockerfile b/9.6/alpine/Dockerfile index a53672ce32..461bcf51f0 100644 --- a/9.6/alpine/Dockerfile +++ b/9.6/alpine/Dockerfile @@ -1,17 +1,13 @@ # vim:set ft=dockerfile: FROM alpine:3.11 -# alpine includes "postgres" user/group in base install -# /etc/passwd:22:postgres:x:70:70::/var/lib/postgresql:/bin/sh -# /etc/group:34:postgres:x:70: -# the home directory for the postgres user, however, is not created by default -# see https://github.com/docker-library/postgres/issues/274 -RUN set -ex; \ - postgresHome="$(getent passwd postgres)"; \ - postgresHome="$(echo "$postgresHome" | cut -d: -f6)"; \ - [ "$postgresHome" = '/var/lib/postgresql' ]; \ - mkdir -p "$postgresHome"; \ - chown -R postgres:postgres "$postgresHome" +# 70 is the standard uid/gid for "postgres" in Alpine +# https://git.alpinelinux.org/aports/tree/main/postgresql/postgresql.pre-install?h=3.11-stable +RUN set -eux; \ + addgroup -g 70 -S postgres; \ + adduser -u 70 -S -D -G postgres postgres; \ + mkdir -p /var/lib/postgresql; \ + chown -R postgres:postgres /var/lib/postgresql # su-exec (gosu-compatible) is installed further down diff --git a/Dockerfile-alpine.template b/Dockerfile-alpine.template index 877d8ee452..129b329177 100644 --- a/Dockerfile-alpine.template +++ b/Dockerfile-alpine.template @@ -1,17 +1,13 @@ # vim:set ft=dockerfile: FROM alpine:%%ALPINE-VERSION%% -# alpine includes "postgres" user/group in base install -# /etc/passwd:22:postgres:x:70:70::/var/lib/postgresql:/bin/sh -# /etc/group:34:postgres:x:70: -# the home directory for the postgres user, however, is not created by default -# see https://github.com/docker-library/postgres/issues/274 -RUN set -ex; \ - postgresHome="$(getent passwd postgres)"; \ - postgresHome="$(echo "$postgresHome" | cut -d: -f6)"; \ - [ "$postgresHome" = '/var/lib/postgresql' ]; \ - mkdir -p "$postgresHome"; \ - chown -R postgres:postgres "$postgresHome" +# 70 is the standard uid/gid for "postgres" in Alpine +# https://git.alpinelinux.org/aports/tree/main/postgresql/postgresql.pre-install?h=3.11-stable +RUN set -eux; \ + addgroup -g 70 -S postgres; \ + adduser -u 70 -S -D -G postgres postgres; \ + mkdir -p /var/lib/postgresql; \ + chown -R postgres:postgres /var/lib/postgresql # su-exec (gosu-compatible) is installed further down