Respuesta para personas que usan Docker Toolbox
Ha habido al menos 3 respuestas aquí que tocan el problema, pero no lo explican correctamente y no dan una solución completa. Este es solo un problema de montaje de carpeta .
Descripción del problema:
Docker Toolbox evita el requisito de Hyper-V de Docker al crear una máquina virtual (en VirtualBox, que viene incluida). Docker está instalado y se ejecuta dentro de la VM. Para que Docker funcione correctamente, debe tener acceso al desde la máquina host. Que aquí no es así.
Después de instalar Docker Toolbox, creó la VM VirtualBox y solo se montó C:\Users
en la máquina, como \c\Users\
. Mi proyecto estaba C:\projects
tan en ninguna parte en el volumen montado. Cuando estaba enviando la ruta a la VM, no existiría, ya C:\projects
que no está montada. De ahí el error anterior.
Digamos que tenía mi proyecto que contenía mi configuración ngnix en C:/projects/project_name/
Arreglando lo:
Vaya a VirtualBox, haga clic derecho en Predeterminado (la VM de Docker)> Configuración> Carpetas compartidas
Al hacer clic en el icono pequeño con el signo más en el lado derecho, agregue un nuevo recurso compartido. Usé la siguiente configuración:
- Lo anterior se asignará
C:\projects
a /projects
( ROOT/projects
) en la VM, lo que significa que ahora puede hacer referencia a cualquier ruta en proyectos como este: /projects/project_name
- porque project_name
desde C:\projects\project_name
ahora está montado.
Para usar rutas relativas, considere nombrar la ruta c/projects
noprojects
- Reinicie todo y ahora debería funcionar correctamente. Detuve manualmente la máquina virtual en VirtualBox y reinicié la CLI de Docker Toolbox.
En mi archivo de docker, ahora hago referencia nginx.conf
a esto:
volumes:
- /projects/project_name/docker_config/nginx/nginx.conf:/etc/nginx/conf.d/default.conf
Donde nginx.conf realmente reside en C:\projects\project_name\docker_config\nginx\nginx.conf
ls -al .
? Quiero ver cómo se ve tu pwd.