Acceder al contenido principal

Optimizando el rendimiento de DDEV con NFS en macOS

Volver a Blog

Optimizando el rendimiento de DDEV con NFS en macOS

24 Abr 020
Logos de NFS y DDEV sobre fotografía de enlace viario
Manuel Aguilar

Docker , Desarrollo , DDEV ,

Para suplir el bajo rendimiento de Docker en sistemas operativos como macOS y Windows, DDEV nos provee de una técnica de montaje de sistema de archivo para mejorar el rendimiento de nuestros entornos de desarrollo. Esta técnica es NFS (Network File System).

 

¿Qué es NFS?

NFS, o Network File System, es un protocolo de la capa de aplicación dedicado a sistemas de archivos distribuidos para almacenamiento conectado a la red (NAS). Este protocolo nos permite ver, almacenar y actualizar archivos en un equipo remoto.

Esto se consigue montando todo o parte de un sistema de archivos en un servidor, haciendo que este sistema pueda ser accesible por el cliente según los privilegios de lectura, escritura que tenga cada archivo.

En el caso de DDEV, se utiliza este protocolo para montar la porción del sistema de archivos correspondiente a nuestro proyecto en un contenedor Docker.

 

Pasos para habilitar NFS en macOS Catalina

En la documentación de DDEV podéis encontrar cómo habilitar NFS tanto en Windows como en Linux. Yo en este post me voy a centrar en cómo habilitar NFS en DDEV-Local bajo macOS Catalina.

Habilitar NFS en DDEV requiere de unos pasos previos de configuración muy simples:

Tenemos que proporcionar permiso de Acceso total al disco a nuestra aplicación de terminal, en este caso yo utilizo iTerm. Basta con entrar en Preferencias del Sistema > Seguridad y Privacidad > Privacidad, seleccionamos en la lista de la izquierda Acceso total al disco y en la derecha seleccionamos nuestra aplicación de terminal.

 

Ejemplo Acceso total al disco a iTerm en macOS Catalina

 

A continuación nos descargamos el script que nos proporciona DDEV en su documentación oficial (macos_ddev_nfs_setup.sh) y lo ejecutamos:

sh macos_ddev_nfs_setup.sh

Este script parará todos los proyectos de DDEV que tengamos ejecutándose, añadirá nuestro directorio home al archivo de configuración /etc/exports que nfsd utiliza y habilitará nfsd para que sea ejecutado en nuestro equipo.

Ahora solamente tenemos que habilitar NFS en nuestro proyecto DDEV. Bien poniendo a true la propiedad nfs_mount_enabled en .ddev/config.yaml, o ejecutando en la terminal:

ddev config --nfs-mount-enabled=true

Con esto podremos mejorar nuestro workflow de trabajo con Docker for Mac y DDEV.

Actualización

A partir de la versión 1.14 de DDEV-Local tenemos la posibilidad de, por defecto, generar nuestros entornos DDEV con la configuración NFS activada, esto lo podemos hacer lanzando el comando:

ddev config global --nfs-mount-enabled

Gracias a @randyfay por el chivatazo.

Otros posts sobre DDEV

Si quieres saber más sobre desarrollo local con Docker utilizando  la herramienta DDEV puedes leer los siguientes posts:

 

Comentarios

Añadir nuevo comentario