fix(docker): resolve permission denied error for PG18+ volume mounts
All checks were successful
🚀 Docker Build and Push / build-and-push (15) (push) Successful in 4m59s
🚀 Docker Build and Push / build-and-push (16) (push) Successful in 4m56s
🚀 Docker Build and Push / build-and-push (17) (push) Successful in 4m56s
🚀 Docker Build and Push / build-and-push (18) (push) Successful in 4m42s
All checks were successful
🚀 Docker Build and Push / build-and-push (15) (push) Successful in 4m59s
🚀 Docker Build and Push / build-and-push (16) (push) Successful in 4m56s
🚀 Docker Build and Push / build-and-push (17) (push) Successful in 4m56s
🚀 Docker Build and Push / build-and-push (18) (push) Successful in 4m42s
PostgreSQL 18+ Docker images changed the data directory structure to use versioned subdirectories (e.g., /var/lib/postgresql/18/main) instead of the traditional /var/lib/postgresql/data path. Changes: - Dockerfile: Add mkdir and chown to ensure /var/lib/postgresql has correct permissions for the postgres user before volume mount - README.md: Update Quick Start with volume mount example - README.md: Add 'Data Persistence' section explaining PG18+ requirements This fixes the 'mkdir: cannot create directory: Permission denied' error that occurred when mounting volumes at /var/lib/postgresql. See: https://github.com/docker-library/postgres/pull/1259
This commit is contained in:
@@ -46,6 +46,9 @@ COPY --from=builder /tmp/timescaledb/usr/share/postgresql/ /usr/share/postgresql
|
||||
COPY init-extensions.sh /docker-entrypoint-initdb.d/
|
||||
RUN chmod +x /docker-entrypoint-initdb.d/init-extensions.sh
|
||||
|
||||
# Ensure correct permissions for data directory (important for PG18+ with volume mounts)
|
||||
RUN mkdir -p /var/lib/postgresql && chown -R postgres:postgres /var/lib/postgresql
|
||||
|
||||
# Healthcheck
|
||||
HEALTHCHECK --interval=30s --timeout=5s --start-period=60s --retries=3 \
|
||||
CMD pg_isready -U postgres || exit 1
|
||||
|
||||
Reference in New Issue
Block a user