From 1841733879686f02dadb9a789d0512f3b8201bdc Mon Sep 17 00:00:00 2001 From: Zoey Date: Wed, 3 May 2023 16:34:27 +0200 Subject: [PATCH 1/3] optimize postres Dockerfile Signed-off-by: Zoey --- Containers/postgresql/Dockerfile | 47 ++++++++++++++------------------ 1 file changed, 21 insertions(+), 26 deletions(-) diff --git a/Containers/postgresql/Dockerfile b/Containers/postgresql/Dockerfile index 6e1e86bc..0163c8b8 100644 --- a/Containers/postgresql/Dockerfile +++ b/Containers/postgresql/Dockerfile @@ -1,36 +1,31 @@ # From https://github.com/docker-library/postgres/blob/master/15/alpine/Dockerfile FROM postgres:15.2-alpine -RUN apk add --no-cache bash openssl shadow grep mawk - -# We need to use the same gid and uid as on old installations -RUN set -ex; \ - deluser postgres; \ - groupmod -g 9999 ping; \ - addgroup -g 999 -S postgres; \ - adduser -u 999 -S -D -G postgres -H -h /var/lib/postgresql -s /bin/sh postgres - -# Fix default permissions -RUN set -ex; \ - chown -R postgres:postgres /var/lib/postgresql; \ - chown -R postgres:postgres /var/run/postgresql; \ - chown -R postgres:postgres "$PGDATA" - -COPY start.sh /usr/bin/ -COPY healthcheck.sh /usr/bin/ -COPY init-user-db.sh /docker-entrypoint-initdb.d/ -RUN set -ex; \ - chmod +x /usr/bin/start.sh; \ - chmod +xr /docker-entrypoint-initdb.d/init-user-db.sh; \ - chmod +x /usr/bin/healthcheck.sh - -RUN mkdir /mnt/data; \ - chown postgres:postgres /mnt/data; +COPY --chmod=775 start.sh /usr/bin/start.sh +COPY --chmod=775 healthcheck.sh /usr/bin/healthcheck.sh +COPY --chmod=775 init-user-db.sh /docker-entrypoint-initdb.d/init-user-db.sh VOLUME /mnt/data +RUN set -ex; \ + apk add --no-cache bash openssl shadow grep mawk; \ + \ +# We need to use the same gid and uid as on old installations + deluser postgres; \ + groupmod -g 9999 ping; \ + addgroup -g 999 -S postgres; \ + adduser -u 999 -S -D -G postgres -H -h /var/lib/postgresql -s /bin/sh postgres; \ + \ +# Fix default permissions + chown -R postgres:postgres /var/lib/postgresql; \ + chown -R postgres:postgres /var/run/postgresql; \ + chown -R postgres:postgres "$PGDATA"; \ + \ + mkdir /mnt/data; \ + chown postgres:postgres /mnt/data; + \ # Give root a random password -RUN echo "root:$(openssl rand -base64 12)" | chpasswd + echo "root:$(openssl rand -base64 12)" | chpasswd USER postgres ENTRYPOINT ["start.sh"] From d100bf985e12f0770befe7d7798b6e155f5c510b Mon Sep 17 00:00:00 2001 From: Zoey Date: Thu, 11 May 2023 14:13:56 +0200 Subject: [PATCH 2/3] move VOLUME and delete shadow Signed-off-by: Zoey --- Containers/postgresql/Dockerfile | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Containers/postgresql/Dockerfile b/Containers/postgresql/Dockerfile index 0163c8b8..9b2e7e55 100644 --- a/Containers/postgresql/Dockerfile +++ b/Containers/postgresql/Dockerfile @@ -5,8 +5,6 @@ COPY --chmod=775 start.sh /usr/bin/start.sh COPY --chmod=775 healthcheck.sh /usr/bin/healthcheck.sh COPY --chmod=775 init-user-db.sh /docker-entrypoint-initdb.d/init-user-db.sh -VOLUME /mnt/data - RUN set -ex; \ apk add --no-cache bash openssl shadow grep mawk; \ \ @@ -15,6 +13,7 @@ RUN set -ex; \ groupmod -g 9999 ping; \ addgroup -g 999 -S postgres; \ adduser -u 999 -S -D -G postgres -H -h /var/lib/postgresql -s /bin/sh postgres; \ + apk del --no-cache shadow; \ \ # Fix default permissions chown -R postgres:postgres /var/lib/postgresql; \ @@ -27,6 +26,8 @@ RUN set -ex; \ # Give root a random password echo "root:$(openssl rand -base64 12)" | chpasswd +VOLUME /mnt/data + USER postgres ENTRYPOINT ["start.sh"] From b9709aa4007ea15f958c851929a0830a34a2efdb Mon Sep 17 00:00:00 2001 From: Zoey Date: Thu, 11 May 2023 14:17:54 +0200 Subject: [PATCH 3/3] change script paths Signed-off-by: Zoey --- Containers/postgresql/Dockerfile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Containers/postgresql/Dockerfile b/Containers/postgresql/Dockerfile index 9b2e7e55..313360bd 100644 --- a/Containers/postgresql/Dockerfile +++ b/Containers/postgresql/Dockerfile @@ -1,8 +1,8 @@ # From https://github.com/docker-library/postgres/blob/master/15/alpine/Dockerfile FROM postgres:15.2-alpine -COPY --chmod=775 start.sh /usr/bin/start.sh -COPY --chmod=775 healthcheck.sh /usr/bin/healthcheck.sh +COPY --chmod=775 start.sh /start.sh +COPY --chmod=775 healthcheck.sh /healthcheck.sh COPY --chmod=775 init-user-db.sh /docker-entrypoint-initdb.d/init-user-db.sh RUN set -ex; \ @@ -29,7 +29,7 @@ RUN set -ex; \ VOLUME /mnt/data USER postgres -ENTRYPOINT ["start.sh"] +ENTRYPOINT ["/start.sh"] -HEALTHCHECK CMD healthcheck.sh +HEALTHCHECK CMD /healthcheck.sh LABEL com.centurylinklabs.watchtower.monitor-only="true"