Una vez que hayamos ejecutado todo lo anterior al intentar encender nuestra máquina virtual nos aparecerá un error en la red dentro de la misma máquina virtual.
Para resolver eso crearemos otra carpeta llamada vmnet para que ahi se guarden todos los archivos que se generarán.
Una de los problemas que nos podemos encontrar al instalar virtualbox es errores con los módulos del kernel dentro del sistema operativo linux. Para solucionar este problema muestro la siguiente lista de pasos para corregirlo:
Crear una llave y agregarlas a los headers del kernel openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj “/CN=MOK Signing/”
Mientras en el trabajo descargué un repositorio, traté de ejecutarlo con el comndo mvn clean install. Pero resulta que ese repositorio nos indicaban los dueños que funcionaba bien. Yo no tenía el mismo resultado. Recibía el mismo error que he colocado en el título de esta entrada.
Resulta que el repositorio funcionaba bien en linux, pero jamás lo habían probado en windows 10 y no daban con la falla.
Contexto:
Proyecto: Java maven
Sistema operativo: Windows 10
Control de versiones: git
Al analizar el código y al realizar prueba y error descubrí que por alguna razón la url que se leía de un archivo estaba de alguna forma mal formada o al menos parcialmente. Las url en dicho programa estaban tratando de ser leídas con el formato de directorios de unix, es decir algo como
/home/user/project/src/main/packagex/file.csv
Pero al encontrarse con una estructura diferente con dos puntos y diagonales inversas (cosa que sólo usa windows) pues se topaba con ese formato no adecuado y lanzaba la excepción.
La ruta que era transformada en windows se convertía a:
C:\user\project\src\main\packagex\file.csv
La respuesta o solución a ese tema fue:
Dejar la ruta en ruta relativa, es decir desde la carpeta src del proyecto y cambiar las diagonales inversas por diagonales “normales”, es decir cambié la ruta de lectura a:
src/main/packagex/file.csv
Con esto pude ejecutar el proyecto de forma correcta y sin ningún tema.
Al intentar usar docker en contenedores linux dentro de windows surge un problema de ejecución, por lo cual ya no seremos capaces de ver nuestros contenedores:
PS C:\Archivos de programa\Docker\Docker\resources> docker ps
error during connect: This error may indicate that the docker daemon is not running.: Get "http://%2F%r_engine/v1.24/containers/json": open //./pipe/docker_engine: El sistema no puede encontrar el archivo
Al reiniciar docker
indica el siguiente error:
Docker.ApiServices.StateMachines.InvalidTransitionException: Cannot stop from an unstable state en Docker.ApiServices.StateMachines.UnstableState.Docker.ApiServices.StateMachines.IInternalEngineState.BeginStopAsync() en C:\workspaces\4.6.x\src\github.com\docker\pinata\win\src\Docker.ApiServices\StateMachines\UnstableState.cs:línea 36 en Docker.ApiServices.StateMachines.EngineStateMachine.d__15.MoveNext() en C:\workspaces\4.6.x\src\github.com\docker\pinata\win\src\Docker.ApiServices\StateMachines\EngineStateMachine.cs:línea 78 --- Fin del seguimiento de la pila de la ubicación anterior donde se produjo la excepción --- en System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() en System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) en Docker.Engines.Engines.d__27.MoveNext() en C:\workspaces\4.6.x\src\github.com\docker\pinata\win\src\Docker.Engines\Engines.cs:línea 281
Pasos para solución
Ejecutar en powershell: wsl --shutdown
Fuente: https://stackoverflow.com/a/64132651
Ejecución en PS: PS C:> & "C:\Program Files\Docker\Docker\resources\com.docker.diagnose.exe" gather –upload
To expand on kev’s answer, you need to restart the LxssManager service. This can be done by opening Task Manager with CTRL SHIFT ESC, going to the Services tab, finding the LxssManager service, right-clicking and selecting Restart Fuente: https://stackoverflow.com/a/53261863
Reiniciar Servicios de docker
• Docker Desktop Service • Docker Engine
Hasta este punto tendremos un nuevo mensaje de error al hacer docker ps
System.InvalidOperationException: Failed to set version to docker-desktop: exit code: -1 stdout: La configuración de la consola no se admite. Para poder usar esta característica, la consola heredada debe estar deshabilitada.
stderr: en Docker.ApiServices.WSL2.WslShortLivedCommandResult.LogAndThrowIfUnexpectedExitCode(String prefix, ILogger log, Int32 expectedExitCode) en C:\workspaces\4.6.x\src\github.com\docker\pinata\win\src\Docker.ApiServices\WSL2\WslCommand.cs:línea 160 en Docker.Engines.WSL2.WSL2Provisioning.d__8.MoveNext() en C:\workspaces\4.6.x\src\github.com\docker\pinata\win\src\Docker.Engines\WSL2\WSL2Provisioning.cs:línea 81 --- Fin del seguimiento de la pila de la ubicación anterior donde se produjo la excepción --- en System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() en System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) en Docker.Engines.WSL2.LinuxWSL2Engine.d__28.MoveNext() en C:\workspaces\4.6.x\src\github.com\docker\pinata\win\src\Docker.Engines\WSL2\LinuxWSL2Engine.cs:línea 177 --- Fin del seguimiento de la pila de la ubicación anterior donde se produjo la excepción --- en System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() en System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) en Docker.ApiServices.StateMachines.TaskExtensions.d__0.MoveNext() en C:\workspaces\4.6.x\src\github.com\docker\pinata\win\src\Docker.ApiServices\StateMachines\TaskExtensions.cs:línea 29 --- Fin del seguimiento de la pila de la ubicación anterior donde se produjo la excepción --- en System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() en System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) en Docker.ApiServices.StateMachines.StartTransition.d__5.MoveNext() en C:\workspaces\4.6.x\src\github.com\docker\pinata\win\src\Docker.ApiServices\StateMachines\StartTransition.cs:línea 67 --- Fin del seguimiento de la pila de la ubicación anterior donde se produjo la excepción --- en System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() en Docker.ApiServices.StateMachines.StartTransition.d__5.MoveNext() en C:\workspaces\4.6.x\src\github.com\docker\pinata\win\src\Docker.ApiServices\StateMachines\StartTransition.cs:línea 92 --- Fin del seguimiento de la pila de la ubicación anterior donde se produjo la excepción --- en System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() en System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) en Docker.ApiServices.StateMachines.EngineStateMachine.d__14.MoveNext() en C:\workspaces\4.6.x\src\github.com\docker\pinata\win\src\Docker.ApiServices\StateMachines\EngineStateMachine.cs:línea 69 --- Fin del seguimiento de la pila de la ubicación anterior donde se produjo la excepción --- en System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() en System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) en Docker.Engines.Engines.d__29.MoveNext() en C:\workspaces\4.6.x\src\github.com\docker\pinata\win\src\Docker.Engines\Engines.cs:línea 339
Solución a dicho error:
Deshabilitar Legacy Console
Haga clic con el botón derecho en la barra de título de la aplicación y elija la opción Properties del menú. Haga clic en la primera pestaña, Options. A continuación, active la casilla situada en la parte inferior de la página que describe Use legacy console. Presione el botón OK para aplicar esta opción.