# Docker

## Mount a volume as the host user

This allows writing to the volume.

Dockerfile:
```dockerfile
COPY .docker/entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh", "docker-php-entrypoint", "php-fpm"]
```

entrypoint.sh:
```shell

#!/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 "$@"
```