Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

211
Views
No se puede usar el indicador de volumen con un contenedor de Windows

Estoy tratando de asignar una carpeta de host al invitado de la misma manera que se logra fácilmente en linux/mac a través -v "$(pwd)":/code . No puedo encontrar un ejemplo simple para hacer que esto funcione con contenedores de Windows.

 docker build -t="webdav" . docker run --rm -it -v C:\junk:C:\code --name webdav webdav powershell C:\Program Files\Docker\Docker\Resources\bin\docker.exe: Error response from daemon: container f0fa313478fddb73e34d47699de0fc3c2a3bdb202ddcfc2a124c5c8b7523ec09 encountered an error during Start: failure in a Windows system call: The connection with the Virtual Machine hosting the container was closed. (0xc037010a).

He probado innumerables otras variaciones, y la respuesta aceptada aquí da el mismo error.

Los documentos parecen referirse solo a Docker Toolbox. El ejemplo solo me da invalid bind mount spec .

Mi Dockerfile

 FROM microsoft/windowsservercore RUN powershell -Command Add-WindowsFeature Web-Server RUN powershell -Command mkdir /code WORKDIR /code ADD * /code/

Nombre del SO: Microsoft Windows 10 Pro Versión del SO: 10.0.14393 N/A Compilación 14393

Versión 17.03.1-ce-win5 (10743) Canal: estable b18e2a5

Descargo de responsabilidad: originalmente publiqué esto en los foros de Docker , pero no he recibido ninguna respuesta.

about 4 years ago · Santiago Trujillo
2 answers
Answer question

0

EDITAR: Lo encontré. https://docs.docker.com/engine/reference/builder/#volume "Al usar contenedores basados en Windows, el destino de un volumen dentro del contenedor debe ser uno de los siguientes: un directorio inexistente o vacío; o una unidad aparte de C:"

O aquí: https://docs.docker.com/engine/reference/commandline/run/#mount-volume--v---read-only "Los siguientes ejemplos fallarán al usar contenedores basados en Windows, como destino de un volumen o montaje de enlace dentro del contenedor debe ser uno de los siguientes: un directorio vacío o inexistente, o una unidad que no sea C:. Además, la fuente de un montaje de enlace debe ser un directorio local, no un archivo".

Me sorprende que estos no sean lugares obvios para documentar esta diferencia. ¿Dónde buscó la documentación de este problema? Agregaré esto allí :)

¿Existe una necesidad general de un resumen de las diferencias entre Linux y Windows?

RESPUESTA ANTIGUA (para contexto) Aquí hay una guía paso a paso sobre cómo montar volúmenes con la GUI: https://rominirani.com/docker-on-windows-mounting-host-directories-d96f3f056a2c

Al leer otras publicaciones del foro, parece que los caracteres especiales en las contraseñas pueden hacer tropezar las cosas.

Si aún tiene problemas, aquí hay un hilo que puede leer: https://github.com/docker/docker/issues/23992

¡Espero que esto ayude!

about 4 years ago · Santiago Trujillo Report

0

No estoy seguro de si/dónde se publican los documentos del repositorio de moby en los documentos de Docker, pero este problema indica que un volumen no puede hacer referencia a una carpeta existente en el contenedor. En mi ejemplo, primero estaba creando c:\code. Si cambio el comando:

docker run --rm -it -v C:\junk:C:\code2 --name webdav webdav powershell

... creará y montará c:\code2 en el contenedor para apuntar a c:\junk en el host.

about 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!