Estoy construyendo craft cms en docker y recibo el siguiente error cuando ejecuto docker-compose up :
ERROR: para craftcms No se puede iniciar el servicio craftcms: Falló la creación del tiempo de ejecución de OCI: container_linux.go:344: el inicio del proceso del contenedor causó "process_linux.go:424: el inicio del contenedor causó \"rootfs_linux.go:58: montaje \\"/host_mnt/c /src/composer.lock \\ "\\ "a rootfs / var / lib / ventana acoplable / overlay2 / b7084475699f911f17d38746b21b1b9694fedf6e096a4080109d429fa687a6db / fusionado \\" en \\" / var / lib / ventana acoplable / overlay2 / b7084475699f911f17d38746b21b1b9694fedf6e096a4080109d429fa687a6db / fusionado / var / www / composer.lock\\" causó \\"no es un directorio\\"\"": desconocido: ¿Está intentando montar un directorio en un archivo (o viceversa)? Compruebe si la ruta de host especificada existe y es del tipo esperado. ERROR: se encontraron errores al iniciar el proyecto.
Aparentemente, montar directorios en el sistema operativo Windows es diferente al sistema operativo Linux. ¿Podría ayudarme a solucionar este problema?
ACTUALIZAR
Desde docker-compose.yml, aquí es donde monto los archivos:
craftcms: build: context: . dockerfile: ./infrastructure/docker/php-fpm/Dockerfile expose: - 9000 volumes: - cpresources:/var/www/web/cpresources - ./src/vendor:/var/www/vendor - ./src/composer.json:/var/www/composer.json - ./src/composer.lock:/var/www/composer.lock - ./src/config:/var/www/config - ./src/modules:/var/www/modules - ./src/templates:/var/www/templates - ./src/web:/var/www/webEsto generalmente indica que src/composer.lock no es un archivo o que la unidad donde se encuentran estos archivos no se comparte correctamente con la máquina virtual acoplable.
Para lo primero, verifique el directorio desde donde está ejecutando docker-compose , este es el directorio censurado, por lo que no puedo brindarle mejores detalles que ese. Debería tener un src\composer.lock allí como un archivo normal, no como un directorio.
Para lo último, acceda a las preferencias de la ventana acoplable y vuelva a configurar el uso compartido de la unidad para asegurarse de que la unidad con su proyecto de composición esté incluida y que la ventana acoplable tenga su contraseña actual (realiza un montaje SMB de Windows para compartir la unidad con la máquina virtual de la ventana acoplable).
Cuando docker intenta montar un archivo que no existe como montaje de host, la acción predeterminada es crear un directorio en el host (esto puede ser solo en la VM de docker si el directorio no se comparte correctamente) y montar ese directorio dentro del envase. Y si se supone que es un archivo en lugar de un directorio dentro del contenedor, obtendrá un error.