permisos_y_propietarios_en_volumenes_con_docker-compose
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
permisos_y_propietarios_en_volumenes_con_docker-compose [2021/05/23 01:40] – busindre | permisos_y_propietarios_en_volumenes_con_docker-compose [2021/05/23 01:50] (current) – busindre | ||
---|---|---|---|
Line 9: | Line 9: | ||
Cuando no se usan contenedores que utilizan root para ejecutar el proceso y se quiere hacer uso de "bind mounts" | Cuando no se usan contenedores que utilizan root para ejecutar el proceso y se quiere hacer uso de "bind mounts" | ||
+ | Ejemplo de montaje de volúmenes y bind mounts (directorios del host anfitrión) desde la linea de comandos usando la sintaxis " | ||
<code bash># Se monta el volumen con el mismo UID y GID del usuario que ejecutó el comando. | <code bash># Se monta el volumen con el mismo UID y GID del usuario que ejecutó el comando. | ||
docker run --mount source=volumen1, | docker run --mount source=volumen1, | ||
Line 17: | Line 18: | ||
docker run --user antonio -it --mount type=bind, | docker run --user antonio -it --mount type=bind, | ||
- | Cuando se trata de volúmenes, desde la linea de comandos es simple especificar un usuario y grupo como ya vimos ([[guia_rapida_de_la_linea_de_comandos_de_docker| Leer guía rápida de docker.]]), pero también sería posible hacerlo desde el Dockerfile como veremos a continuación, | + | Cuando se trata de volúmenes, desde la linea de comandos es simple especificar un usuario y grupo como ya vimos ([[guia_rapida_de_la_linea_de_comandos_de_docker|Leer guía rápida de docker.]]), pero también sería posible hacerlo desde el Dockerfile como veremos a continuación, |
**Montar volúmenes (no bind mounts) a partir de un fichero Dockerfile** | **Montar volúmenes (no bind mounts) a partir de un fichero Dockerfile** | ||
Line 23: | Line 24: | ||
Al margen de la linea de comandos, este es posiblemente el mejor método de configurar un punto de montaje dentro del contenedor con los permisos deseados cuando se usan aplicaciones estilo docker-compose. El proceso se basa en crear una imagen mediante un fichero Dockerfile donde se define el usuario y los permisos del directorio que monta el volumen. Una vez se monte el volumen, ya sea desde la linea de comandos o docker-compose, | Al margen de la linea de comandos, este es posiblemente el mejor método de configurar un punto de montaje dentro del contenedor con los permisos deseados cuando se usan aplicaciones estilo docker-compose. El proceso se basa en crear una imagen mediante un fichero Dockerfile donde se define el usuario y los permisos del directorio que monta el volumen. Una vez se monte el volumen, ya sea desde la linea de comandos o docker-compose, | ||
- | En el ejemplo se crea una imagen docker llamada alpine_volumen que usará un usuario no privilegiado “testuser”. | + | En el ejemplo se crea una imagen docker llamada |
<code bash> | <code bash> | ||
ARG USR=testuser | ARG USR=testuser | ||
Line 31: | Line 32: | ||
VOLUME / | VOLUME / | ||
USER $USR # Usuario del proceso.</ | USER $USR # Usuario del proceso.</ | ||
- | |||
- | Linea de comando (se creará el volumen XXXX si no existe). | ||
- | < | ||
Montar el volumen desde docker-compose, | Montar el volumen desde docker-compose, | ||
Line 47: | Line 45: | ||
volumes: | volumes: | ||
XXXX:</ | XXXX:</ | ||
+ | |||
+ | También se puede montar el volumen desde la linea de comando (se creará el volumen XXXX si no existe). | ||
+ | < | ||
+ | |||
| | ||
**Montar directorios (bind mount) conociendo el usuario del contenedor y aplicándolo al directorio host** | **Montar directorios (bind mount) conociendo el usuario del contenedor y aplicándolo al directorio host** | ||
- | Obtener el id del usuario que corre en el contenedor | + | Obtener el id del usuario que corre en el contenedor. |
<code bash> | <code bash> | ||
# docker | # docker |
permisos_y_propietarios_en_volumenes_con_docker-compose.1621726830.txt.gz · Last modified: 2021/05/23 01:40 by busindre