La guía o código que hallarás en este artículo es la solución más sencilla y efectiva que encontramos a esta inquietud o problema.
Solución:
OpenShift ejecutará contenedores de forma predeterminada como un usuario no root. Como resultado, su aplicación puede fallar si requiere que se ejecute como root. Si puede configurar su contenedor para que se ejecute como root dependerá de los permisos que tenga en el clúster.
Es mejor diseñar su contenedor y aplicación para que no tenga que ejecutarse como root.
Algunas sugerencias.
-
Cree un usuario UNIX especial para ejecutar la aplicación y configure ese usuario (usando su uid), en la instrucción USER del
Dockerfile
. Haga que el grupo para el usuario sea el grupo raíz. -
Permisos de reparación en el
/src
directorio y todo lo que está debajo de él es propiedad del usuario especial. Asegúrese de que todo sea raíz del grupo. Asegúrese de que cualquier cosa que necesite ser escribible sea escribible en la raíz del grupo. -
Asegúrese de configurar
HOME
a/src
enDockerfile
.
Una vez hecho esto, cuando OpenShift ejecuta su contenedor como un uid asignado, donde el grupo es raíz, entonces, en virtud de que todo se puede escribir en grupo, la aplicación aún puede actualizar los archivos en /src
. los HOME
La variable que se establece garantiza que cualquier cosa escrita en el directorio de inicio por código entre en escritura. /src
área.
También puede ejecutar el siguiente comando que otorga acceso de root al proyecto en el que inició sesión:
oc adm policy add-scc-to-user anyuid -z default
Si haces scroll puedes encontrar las explicaciones de otros sys admins, tú asimismo tienes la opción de insertar el tuyo si lo deseas.