Как я могу предоставить разрешения для образа Docker PHP и VOLUME хоста?

Я работаю с официальным образом докера PHP и пытаюсь добавить путь к хосту как ОБЪЕМ. Мое намерение для местного развития.

Мой Dockerfile довольно прост:

FROM php:5.6-apache
VOLUME ["/var/www/html/"]

Тогда по моему docker run Команда Я просто добавляю -v флаг:

$ docker run -d -v ~/Workspace/website/:/var/www/html/ ...

Тем не менее, я получаю 403 после старта. Если я выполню запись bash, я вижу, что / var / www / html отказано в разрешении. Я думаю, что это связано с «чужим» пользователем / группой для гостя.

Журнал:

[Вт Янв 26 00: 29: 38.182727 2016] [core: error] [pid 10] (13) Отказано в доступе: [client 192.168.5.1:37996] AH00035: доступ к /index.php запрещен (путь к файловой системе ‘/ var / www / html / index.php ‘), так как отсутствуют разрешения на поиск для компонента пути
192.168.5.1 — — [26 / Jan / 2016: 00: 29: 38 +0000] «GET /index.php HTTP / 1.1» 403 446 «-» «Mozilla / 5.0 (X11; Fedora; Linux x86_64) AppleWebKit / 537.36 (KHTML, как Gecko) Chrome / 47.0.2526.106 Safari / 537.36 «

Stat:

# stat html/
File: 'html/'
Size: 4096          Blocks: 8          IO Block: 4096   directory
Device: fd02h/64770d    Inode: 3148160     Links: 26
Access: (0775/drwxrwxr-x)  Uid: ( 1000/ UNKNOWN)   Gid: ( 1000/ UNKNOWN)
Access: 2016-01-25 23:17:57.096095138 +0000
Modify: 2016-01-26 00:28:10.274181924 +0000
Change: 2016-01-26 00:28:10.274181924 +0000

ОБНОВИТЬ

Я принял предложение Джани и изменил gid группы www-data на 1000, чтобы соответствовать gid пути хоста.

$ id www-data
uid=33(www-data) gid=33(www-data) groups=33(www-data)
$ groupmod -g 1000 www-data
$ id www-data
uid=33(www-data) gid=1000(www-data) groups=33(www-data)
$ stat html/
File: 'html/'
Size: 4096          Blocks: 8          IO Block: 4096   directory
Device: fd02h/64770d    Inode: 3148160     Links: 26
Access: (0775/drwxrwxr-x)  Uid: ( 1000/ UNKNOWN)   Gid: ( 1000/ www-data)
Access: 2016-01-25 23:17:57.096095138 +0000
Modify: 2016-01-26 00:28:10.274181924 +0000
Change: 2016-01-26 00:28:10.274181924 +0000

Тем не менее, это по-прежнему не исправить разрешения. Я даже изменил UID.

ОБНОВЛЕНИЕ № 2

Я только что подтвердил, что это работает безупречно на OS X. Первоначально я пытался заставить его работать на Fedora 23.

4

Решение

Вы должны проверить пользователя и группу рабочих процессов apache и указать исходный каталог chown.
Другой способ — изменить gid и uid рабочего пользователя Apache.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]