Если это на самом деле просто файл конфигурации, я бы не стал создавать собственный образ вокруг него. Вместо этого используйте параметр docker run -v
, чтобы внедрить его во время выполнения
docker run \
-v $PWD/server.xml:/opt/exo/conf/server.xml \
... \
exoplatform/exo-community
(вы все равно можете столкнуться с теми же проблемами с разрешениями.)
В подходе Dockerfile базовый образработает как альтернативный пользователь USER , но инструкция COPY по умолчанию делает файлы, принадлежащие пользователю root. Начиная с относительно недавнего Docker (18.03; если вы используете Docker 1.13 в CentOS / RHEL 7, это не сработает), вы должны иметь возможность
COPY --chown=exo server.xml /opt/exo/conf
Или, если это не сработает, вы можетеявное переключение на пользователя root и обратно
COPY server.xml /opt/exo/conf
USER root
RUN chown exo /opt/exo/conf/server.xml
USER exo