Skip to main content

Docker

Mount a volume as the host user

This allows writing to the volume.

Dockerfile:

COPY .docker/entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh", "docker-php-entrypoint", "php-fpm"]

entrypoint.sh:


#!/usr/bin/env bash

echo "Checking USER ID"
www_uid=`stat -c "%u" /srv/app/src`
www_gid=`stat -c "%g" /srv/app/src`

echo "Host user is $www_uid:$www_gid"

if [ ! $www_uid -eq 0 ]; then
    echo "Updating www-data user and group to match host IDs"
    usermod -u $www_uid www-data
    groupmod -g $www_gid www-data
fi

mkdir -p /srv/app/data
chown www-data:www-data /srv/app/data

exec "$@"