У меня была та же проблема, и кажется, что существует некоторая ошибка в докере или overlay2, если содержание каталога создается в одном слое, и его полномочия изменяются в другом.
Как обходное решение Вы могли скопировать источники во временный каталог:
COPY . /src
И затем перемещают его в /var/www/html
и устанавливают полномочия (в одном RUN
команда):
RUN rm -rf /var/www/html && mv /src /var/www/html &&\
find /var/www/html/ -type d -exec chmod 755 {} \; &&\
find /var/www/html/ -type f -exec chmod 644 {} \; &&\
chmod -R 777 /var/www/html/app/cache /var/www/html/app/logs
Также я создал выпуск .
GitHubЯ просто сделал эксперимент со следующим:
FROM alpine
LABEL MAINTAINER="YIMGA YIMGA Salathiel Genèse"
RUN apk add --no-cache inotify-tools
CMD [ "./script.sh" ]
WORKDIR /opt/app/
COPY src/ /opt/app/
RUN chmod a+x *.sh
И это просто работает отлично.
, Когда я переопределяю тот исполняемый файл через докера - составляют объемы, execute
, разрешение просто как назад прокрученный - технически переопределил к исходному разрешению файла.
фиксация для dev режима просто к chmod a+x yourfile
от хоста, который будет наследован в, составляют монтирование объема.
Оболочка по умолчанию ВЫПОЛНЕННЫХ в Докере является/bin/sh, и это - то, где полномочия, не устанавливаемые правильно на самом деле, имеют проблему.
, Но можно измениться на просто использование/bin/bash вместо этого, чтобы легко зафиксировать, заметить прежде и после списка
Step 7/9 : RUN /bin/bash -c 'ls -la; chmod +x gitlab-properties-builder.sh; ls -la'
---> Running in dc57ae77aa67
drwxr-xr-x. 3 root root 103 Mar 8 17:56 .
drwxr-xr-x. 1 root root 46 Mar 8 17:57 ..
drwxr-xr-x. 2 root root 6 Mar 7 20:47 config
-rw-r--r--. 1 root root 2340 Mar 7 21:20 gitlab-properties-builder.sh
-rw-r--r--. 5 root root 57325770 Mar 5 14:39 gitlab-scm-collector-2.0.5-SNAPSHOT.jar
drwxr-xr-x. 1 root root 42 Mar 8 17:56 .
drwxr-xr-x. 1 root root 61 Mar 8 17:57 ..
drwxr-xr-x. 2 root root 6 Mar 7 20:47 config
-rwxr-xr-x. 1 root root 2340 Mar 7 21:20 gitlab-properties-builder.sh
-rw-r--r--. 5 root root 57325770 Mar 5 14:39 gitlab-scm-collector-2.0.5-SNAPSHOT.jar
---> 8b5de6e348d3
каталогов Эта проблема вероятна результат VOLUME
определение в восходящем Dockerfile. Когда объем определяется в Dockerfile, можно добавить файлы с COPY
или ADD
команда непосредственно в изображение. Однако RUN
строка будет:
RUN
команда Вы будете видеть свои примененные изменения, но те изменения были применены к объему docker diff
, если Вы не удаляете временные контейнеры (можно выполнить сборку с --rm=false
, чтобы сделать, чтобы они остались) из-за этого поведения, у Вас есть опции к:
Примечание, что в текущих изображениях php, кажется, что объем был удален, что означает, что у нас эффективно есть опция 3.