LINUX.ORG.RU

Docker и права доступа на файлы у guest и host

 ,


0

1

Допустим, я хочу запустить внутри docker-контейнера проект на Zend. Docker работает под Ubuntu 16.04.

Внутри docker работает: nginx и php-fpm. Оба кошерно запускаются от юзера www-data. Соответственно, запуске контейнера я делаю:

RUN chown www-data:www-data -R /var/www

После этого я автоматически теряю доступ с host-машины (Permission denied и все дела).

При этом, аналогичный запуск делаю на макбуке и все работает как надо: снаружи владелец файлов — я, внутри — www-data.

Читал руководство и примеры best practices по докеру, но там больше речь о безопасности и непосредственном запуске без последующего редактирования. Ночь потратил на это, может уже в глаза долблюсь и не вижу очевидного.

Что я делаю не так? До этого проект был собран на базе vagrant через virtualbox провайдера и с правами вопрос решался как два пальца, возможно, что я хочу того, на что docker не рассчитан.

Полный листинг Dockerfile

FROM ubuntu:14.04

RUN apt-get update; \
    apt-get install -y \
            curl wget \
            nginx \
            php5-fpm php5-common php5-gd php5-curl php5-cli php5-mysql; \
    wget -O /usr/bin/composer https://getcomposer.org/composer.phar; \
    chmod +x /usr/bin/composer; \
    chown www-data:www-data -R /var/www; \
    cd /var/www && composer install;

ADD default /etc/nginx/sites-available/default
ADD php.ini /etc/php5/fpm/php.ini
ADD upstart.sh /upstart.sh # этот скрипт делает две простые вещи: service php5-fpm start && nginx -g 'daemon off;'

EXPOSE 80
EXPOSE 443

Deleted

Ответ на: комментарий от Radjah

UID/GID естественно разный, но я не очень понимаю механизм разруливания прав доступа через docker. В vagrant это работает через опции owner.

Deleted
()
Ответ на: комментарий от Radjah

Я не понимаю почему в mac os работает как я хочу, а на linux-машине — нет.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.