Firewall de Windows está bloqueando mi intento de permitir que Docker para Windows comparta C: en la máquina con Windows 10.
Funciona bien cuando Firewall de Windows está apagado. Cuando está encendido consigo
Un firewall está bloqueando el uso compartido de archivos entre Windows y los contenedores. Ver documentación para más información.
La documentación dice
No necesita abrir el puerto 445 en ninguna otra red. De forma predeterminada, permite conexiones al puerto 10.0.75.1 445 (el host de Windows) desde 10.0.75.2 (la máquina virtual).
Estoy "buscado en Google" al tratar de encontrar cómo hacerlo, ¿alguien puede aconsejarme?
docker
docker-for-windows
Ribeye
fuente
fuente
Respuestas:
En realidad, no es necesario compartir la unidad C, solo reinstalar (o incluso desmarcar, hacer clic en Aceptar y luego marcar) el servicio de uso compartido de archivos e impresiones en la tarjeta de red virtual Hyper-V. Ver este artículo
Además, si hay restricciones en sus perfiles de red (es decir, públicos), considere cambiar la "red no identificada" predeterminada para la tarjeta "vEthernet (DockerNAT)" a privada a través de este comando de PowerShell antes de hacer lo anterior:
fuente
Get-NetConnectionProfile
para asegurarse de que laDockerNAT
red esté en laPrivate
categoría0x80071779
, intenté deshabilitar -> habilitar. También firewall deshabilitado ... También traté de configurarlo como privado, todavía no funciona, ¿alguna idea?Disable-NetAdapterBinding -Name "vEthernet (DockerNAT)" -ComponentID ms_server
Ok, entonces después de ejecutar el mismo problema, he encontrado una solución.
Esto es lo que hice:
Paso 1: abre ESET. Luego haga clic en Configuración
Paso 2: haga clic en Protección de red
Paso 3: haga clic en el asistente de solución de problemas
Paso 4: busque la comunicación 10.0.75.2 ( configuración predeterminada de IP de la ventana acoplable) Simplemente verifique el rango de IP definido dentro de la configuración de la ventana acoplable. Luego busque la IP que reside en ese rango.
Paso 5: haga clic en el botón Desbloquear , entonces debería recibir esta pantalla.
Esto resolvió el problema por mí mismo.
Luego puede ir a las Reglas y verificar la regla que se agregó.
PD: Esta es mi primera publicación, perdón por cualquier procedimiento incorrecto.
fuente
Solo esta solución me ayuda:
Set-NetConnectionProfile -interfacealias "vEthernet (DockerNAT)" -NetworkCategory Private
fuente
Set-NetConnectionProfile
se debe ejecutar en PowerShell como administrador y no como Cmd normal. Funciona bien para mí, pero el adaptador Ethernet sigue funcionandounidentified network
Mi solución fue desconectarme de la VPN; eso estaba causando el problema
fuente
No estaba usando ningún firewall de terceros cuando me encontré con este error. Estaba convencido de que era un problema de Firewall de Windows, aunque deshabilitar Windows Firewall no funcionó para mí. Finalmente encontré esta publicación de blog después de mucha investigación: error de Docker en Windows 10: un firewall está bloqueando el intercambio de archivos ...
Terminó NO teniendo que ver con el Firewall de Windows incorporado.
fuente
Mi unidad C dejó de ser compartida con Docker después de una reciente actualización de Windows 10. Recibía el mismo problema al decir que estaba bloqueado por el firewall de Windows cuando intentaba compartirlo.
Mirando a través de las soluciones anteriores, encontré algo que funcionó para mí que es más simple que cualquier otra cosa que vi en esta página. En el Panel de control \ Todos los elementos del Panel de control \ Centro de redes y recursos compartidos , en la conexión vEthernet (DockerNAT) , desmarqué la propiedad Compartir archivos e impresoras para redes Microsoft y guardé la configuración. Luego revisé la propiedad nuevamente para volver a habilitarla y la guardé nuevamente.
En este punto, pude volver a compartir la unidad C en la configuración de Docker. No tengo idea de por qué funcionó, pero no fue un problema de firewall, que ya tiene una entrada para DockerSmbMount.
fuente
Tuve este problema con Kaspersky; apagar Kaspersky funcionó, así que supe que era el firewall. En mi caso, Kaspersky ya estaba bloqueando el puerto 445 por alguna razón. Tuve que ir a Reglas de paquetes para el firewall, servicios locales (TCP) y eliminar 445 de la lista de puertos de bloques.
fuente
Para máquinas con Windows 10 en redes de dominio, cuando se crea el adaptador Ethernet virtual Hyper-V, se clasifica como una red pública. Debe cambiarlo a una red privada para permitir las reglas de Windows Firewall más relajadas y, por lo tanto, permitir el intercambio de archivos.
Ejecute el siguiente comando en PowerShell:
Cambie el nombre entre comillas si la conexión de red virtual de Hyper-V de su máquina se llama de otra manera.
fuente
Mi problema fue que Cisco Anyconnect VPN interfirió con la red interna del acoplador
para solucionar esto, vaya a:
Configuración de Cisco Anyconnect> Preferencias> verificar
Allow local (LAN) access when using VPN
fuente
Allow local (LAN) access when using VPN
ya estaba marcado, así que lo desactivé, desconecté, volví a verificar la opción y volví a conectarme a la VPN. Docker para Windows luego aplicó el recurso compartido de la unidad según lo deseado.Como se indicó en otra respuesta, Docker no juega bien con una VPN. Si está utilizando Nordvpn, tiene que deshabilitar "Invisibilidad en LAN" y probablemente "Internet Kill Switch" .
Si lo ha hecho, debería funcionar incluso con la VPN activa.
fuente
Eso depende de qué firewall tenga instalado. En mi caso, he deshabilitado el Firewall de Windows incorporado y estoy usando ESET Smart Security, por lo que mis reglas se ven así:
445
:Tal vez esta no sea la respuesta, ya que no está relacionada con el Firewall de Windows, pero podría darle una pista sobre qué hacer.
fuente
Nada de lo anterior funcionó para mí.
Lo que finalmente hizo el truco fue abrir las propiedades de la red "vEthernet (DockerNAT)" y marcar la casilla "Interruptor virtual extensible Hyper-V" en la parte inferior de la lista en la pestaña "Redes".
No estoy seguro de si esta es la solución real o si de alguna manera restableció el adaptador de red para mí ... ¡pero funcionó!
fuente
Parece que muchos tienen este problema al ejecutar Cisco AnyConnect. Tengo el mismo problema y así es como lo resolví:
La causa: la subred utilizada por Docker está en la lista de Rutas seguras administradas por Cisco AnyConnect (creo que esta lista es administrada por el administrador de su VPN).
La solución: cambiar la subred utilizada por Docker para que no se superponga con la lista que administra AnyConnect.
Por ejemplo, en mi caso, cambié de 10.0.75.0 (que se superpuso con 10.0.0.0/8) a 172.31.0.0/28.
fuente
Tuve el mismo problema e intenté todas las soluciones, y resultó que era necesario más de uno:
He escrito una explicación completa en http://kajabity.com/2017/08/unblock-docker-for-windows-firewall-issues-with-host-volumes/
fuente
Mi unidad G dejó de ser compartida con Docker después de una actualización reciente de Windows 10. Recibía el mismo problema al decir que estaba bloqueado por el firewall de Windows cuando intentaba compartirlo.
Luego intenté resolver este problema por un par de sugerencias, pero no puedo resolverlo después de eso, intenté restablecer las credenciales a continuación de Unidades compartidas y mi problema se resolvió.
Entonces, si quieres, puedes intentar hacer esto:
fuente
Todo lo que todos publicaron NO FUNCIONÓ para mí.
Esto lo hizo.
Instalé la versión EDGE. Luego fui a WINDOWS DEFENDER y deshabilité el firewall para DOCKER NAT. (no mi adaptador de ethernet real, solo el docker nat)
Una vez que desactivé el defensor / firewall de Windows DE ESA forma, funcionó bien.
ugh Realmente espero que eso ayude a algunos de ustedes!
fuente
En mi caso, deshabilité "Bloquear TCP 445" en Firewall de Windows Defender con seguridad avanzada y funcionó. Luego lo habilitó nuevamente después de configurar las unidades compartidas en Docker.
fuente
Tuve el mismo problema con F-secure, DeepGuard estaba bloqueando el servicio Docker. Mi solución fue:
Abra el cliente F-secure y haga clic en " Tareas "
Elija " Permitir que se inicie un programa "
Elija de la lista "com.docker.service" y presione " Eliminar "
Después de eso, reinicie el cliente Docker e intente solicitar el uso compartido de archivos.
También muy buena guía de solución de problemas aquí: Error: un firewall está bloqueando el intercambio de archivos entre Windows y los contenedores
fuente
Tuve el mismo problema con el firewall que no me permitía compartir mi unidad C. Intenté todas las soluciones mencionadas anteriormente y nada funcionó para mí. Luego desinstalé Docker completamente de mi máquina.
Control Panel\Programs\Programs and Features -> select Docker for Windows -> Uninstall
Luego, vaya al sitio web de Docker y haga clic en
Get Docker for Windows (Stable)
Después de eso, pude compartir la unidad C
fuente
Para AVG Internet Security, habilitar el Modo de uso compartido de la conexión a Internet en la configuración de Firewall me ayudó.
fuente
Incluso después de garantizar que la regla de firewall entrante esté configurada correctamente e incluso después de desinstalar y reinstalar el Servicio de uso compartido de archivos e impresión , no funcionó para mí.
Solución: además de eso, también tuve que hacer una tercera cosa. Tuve que desactivar la casilla de verificación Evitar conexiones entrantes cuando estoy en una red pública en la configuración de firewall específica para redes públicas. Después de hacerlo, comenzó a funcionar para mí también. Ver capturas de pantalla adjuntas al final de este mensaje.
No sé cuánto tiempo esta opción ya ha estado allí. Actualmente estoy trabajando en Win 10 Pro 1709 16299.402.
1. Abra configuraciones de firewall específicas para redes públicas
2. Desmarque esta casilla de verificación
fuente
Con Kaspersky Internet Security puede resolver esto fácilmente si cambia el
vEthernet (DockerNAT)
tipo de adaptador de red aTrusted network
.Configuración> Protección> Cortafuegos> Redes> vEthernet (DockerNAT)> Seleccione "Red de confianza"
fuente
25 de enero de 2020
Parece que es un problema en las versiones anteriores, instalé la última versión:
y funcionó para mí sin ninguna configuración.
fuente
Este (enlace a continuación) parece ser la mejor solución que he encontrado hasta ahora. Es persistente en todos los reinicios. Se explica mejor aquí: https://gist.github.com/biggyspender/8b5b2ed9ff63de31045d41304e3915b3
La interfaz de red vEthernet parece crearse dinámicamente cada vez que se inicia el sistema, y se crea en el grupo 'Público' en lugar de en el grupo 'Privado' (donde funciona). Las ediciones en uno de los scripts de inicio de Docker (llamados en el enlace de arriba) automatizan el comando / corrección de PowerShell señalado por David Tesar arriba ...
Tuve más suerte al agregar la función al script en lugar de editar el script y cambiar 'Internal' a 'Private'.
fuente
Si ninguno de los anteriores funciona, solo asegúrese de no estar conectado a una VPN . Eso es exactamente lo que me sucedió, estaba conectado a una VPN usando el cliente Cisco AnyConnect, también asegúrese de establecer un DNS estático en la configuración de la ventana acoplable.
fuente
Intenté todo lo que aparece aquí y en https://github.com/docker/for-win/issues/360
Nada me funcionó.
Ejecuto mi entorno de desarrollo en un contenedor acoplable y, mientras estoy en Corporate VPN (Cisco AnyConnect), necesito montar mi unidad local en el contenedor para acceder a mis archivos de proyecto.
Aquí hay un hacker que funcionó para mí. Agregue
--publish 8000:8000
a su comando de ejecución de docker existente.Entonces
se convertirá
Asegúrese de que el puerto no se use; de lo contrario, recibirá este error:
fuente
En resumen, use la versión Edge.
La versión Edge de Docker para Windows desde 2.1.5.0 (2019-11-04) tiene una nueva implementación de uso compartido de archivos sin requerir modificaciones del firewall https://docs.docker.com/docker-for-windows/edge-release-notes / /
"Nueva implementación para compartir archivos: Docker Desktop presenta una nueva implementación para compartir archivos que utiliza sockets gRPC, FUSE e Hypervisor en lugar de redes Samba, CIFS e Hyper-V. La nueva implementación ofrece un mejor rendimiento de E / S. Además, cuando se utiliza el nuevo sistema de archivos:
"
Puede descargar la versión de borde: https://download.docker.com/win/edge/Docker%20Desktop%20Installer.exe
Tenga en cuenta que, a partir de ahora, la versión Edge de 2.1.7.0 se utilizará para la próxima versión estable: "Nota: Docker Desktop Edge 2.1.7.0 es el candidato de la versión para la próxima versión estable". Por lo tanto, el riesgo de usar Edge es relativamente bajo. O bien, puede esperar la próxima versión estable para evitar todos estos problemas de firewall.
fuente
para aquellos que no pueden resolver este problema de ninguna manera, pueden intentar esto: asignar manualmente la unidad al host del acoplador:
https://github.com/docker/for-win/issues/466#issuecomment-416682825
La investigación está aquí: https://github.com/docker/for-win/issues/466#issuecomment-398305463
fuente
Lo encontré bastante fácil. Solo ve a tus conexiones de red. Puede ir al Panel de control / Red y uso compartido. Encontrarás varias conexiones. Busca la conexión de Docker. Seleccione el que sea predeterminado. Después de seleccionar la red, vaya a Propiedades. En la sección de propiedades, active la opción Interruptor virtual extensible Hyper-V . Esto ayudará al contenedor virtual a usar la tarjeta de red.
fuente
Lo que lo hizo por mí (después de varias horas de prueba y error) fue cambiar la máscara de subred de
255.255.255.240
a255.255.255.0
(que no debería cambiar nada).Como parte de la prueba y error, hice todo lo demás que figura en el artículo, pero sin ningún éxito ... pero este último paso lo hizo ... y volver a
255.255.255.240
no romper el buen ciclo.Lo admito, no tiene sentido ... pero podría estar relacionado con un estado interno que solo se activa por el cambio de red.
De todos modos, si solo he ayudado a uno, valió la pena el esfuerzo.
fuente