#docker #deployment #openshift #devops
#docker #развертывание #openshift #devops
Вопрос:
Я пытаюсь развернуть модуль на openshift с базовым образом tutum / apache-php. У нас есть требование пользовательского php в конкретном проекте. Но когда модуль развертывается в openshift, он показывает ошибку
операция chown не разрешена
Может ли кто-нибудь помочь мне с этим.
Комментарии:
1. Привет, я считаю, что вам нужно добавить пользователя в корневую группу, чтобы получить разрешение. попробуйте следующую строку в файле docker
RUN adduser -u USERID -G root -D USERNAME
2. Спасибо, суреш! Но у меня это не сработало!
3. Вам необходимо заменить идентификатор ПОЛЬЗОВАТЕЛЯ и ИМЯ ПОЛЬЗОВАТЕЛЯ, например, 2000 и suresh
4. было бы полезно, если бы вы также добавили ошибку и код ошибки
5. Ваше изображение, вероятно, ожидает запуска от имени
root
пользователя. Профиль безопасности OpenShift по умолчанию предотвращает это. Если у вас есть доступ администратора кластера для всего кластера OpenShift, вы можете переопределить это, если это абсолютно необходимо, но обычно лучше использовать изображения, которые не требуют запуска от имениroot
пользователя, поскольку это не обязательно хорошая практика. Смотрите cookbook.openshift.org/users-and-role-based-access-control /… и cookbook.openshift.org/users-and-role-based-access-control /…
Ответ №1:
Вы могли бы использовать Dockerfile для запуска этой команды во время сборки образа. Внутри Dockerfile вы можете запустить команду от имени root с помощью следующей команды.
USER root
Пожалуйста, обратите внимание, что вы должны вернуться к обычным привилегиям пользователя после выполнения команды или нескольких команд.
USER root
RUN chmod XXX /path/to/file
...
USER 1001