Я запускаю Docker 1.8.1 в OSX 10.11 через локальную док-машину VM.Неверные разрешения в объеме в контейнере Docker
У меня есть следующие Докер-compose.yml:
web:
build: docker/web
ports:
- 80:80
- 8080:8080
volumes:
- $PWD/cms:/srv/cms
Мои Dockerfile выглядит следующим образом:
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"]
Когда я бегу все с docker-compose up
все работает отлично, мои объемы установлены на правильный место.
Но разрешения в установленной папке/srv/cms выглядят неправильно. Пользователь «1000», а группа «50» в контейнере. Веб-сервер не мог создавать файлы в этой папке, потому что он работает с пользователем «root».
Если он работает с 'root', то он должен иметь возможность писать любую папку. У вашей конфигурации супервизора указан другой пользователь? Является ли 'uid 1000' и' gid 50' пользователем на вашей ОС X? –