Falsche Berechtigungen im Volume im Docker-Container
Ich führe Docker 1.8.1 in OSX 10.11 über eine lokale Docker-VM aus.
Ich habe die folgende docker-compose.yml:
web:
build: docker/web
ports:
- 80:80
- 8080:8080
volumes:
- $PWD/cms:/srv/cms
Meine Dockerfile sieht so aus:
FROM alpine
# install nginx and php
RUN apk add --update \
nginx \
php \
php-fpm \
php-pdo \
php-json \
php-openssl \
php-mysql \
php-pdo_mysql \
php-mcrypt \
php-ctype \
php-zlib \
supervisor \
wget \
curl \
&& rm -rf /var/cache/apk/*
RUN mkdir -p /etc/nginx && \
mkdir -p /etc/nginx/sites-enabled && \
mkdir -p /var/run/php-fpm && \
mkdir -p /var/log/supervisor && \
mkdir -p /srv/cms
RUN rm /etc/nginx/nginx.conf
ADD nginx.conf /etc/nginx/nginx.conf
ADD thunder.conf /etc/nginx/sites-enabled/thunder.conf
ADD nginx-supervisor.ini /etc/supervisor.d/nginx-supervisor.ini
WORKDIR "/srv/cms"
VOLUME "/srv/cms"
EXPOSE 80
EXPOSE 8080
EXPOSE 22
CMD ["/usr/bin/supervisord"]
Wenn ich alles mit @ laufdocker-compose up
alles funktioniert gut, meine Volumes sind an der richtigen Stelle gemountet.
Aber die Berechtigungen im gemounteten Ordner / srv / cms sehen falsch aus. Der Benutzer ist "1000" und die Gruppe ist "50" im Container. Der Webserver konnte in diesem Ordner keine Dateien erstellen, da er mit dem Benutzer "root" ausgeführt wird.