O Firewall do Windows está bloqueando minha tentativa de permitir que o Docker for Windows compartilhe C: na máquina com Windows 10.
Funciona bem quando o Firewall do Windows está desativado. Quando começa
Um firewall está bloqueando o compartilhamento de arquivos entre o Windows e os contêineres. Consulte a documentação para mais informações.
A documentação diz
Você não precisa abrir a porta 445 em nenhuma outra rede. Por padrão, permita conexões à porta 10.05.75.1 445 (o host do Windows) a partir da 10.0.75.2 (a máquina virtual).
Estou "pesquisando" tentando descobrir como fazer isso - alguém pode aconselhar?
docker
docker-for-windows
Ribeye
fonte
fonte
Respostas:
Na verdade, você não precisa compartilhar a unidade C, mas apenas reinstalar (ou potencialmente desmarcar - clique em OK - depois marque) o serviço de compartilhamento de arquivos e impressões na placa de rede virtual Hyper-V. Veja este artigo.
Além disso, se houver restrições nos seus perfis de rede (público), considere alterar a "rede não identificada" padrão da placa "vEthernet (DockerNAT)" para privada por meio deste comando do PowerShell antes de fazer o seguinte:
fonte
Get-NetConnectionProfile
para garantir que aDockerNAT
rede está naPrivate
categoria0x80071779
, tentei desativar -> ativar. Também firewall desativado ... Eu também tentei definir como privado, ainda não está funcionando, alguma idéia?Disable-NetAdapterBinding -Name "vEthernet (DockerNAT)" -ComponentID ms_server
Ok, então, depois de executar o mesmo problema, encontrei uma solução.
Isto é o que eu fiz:
Etapa 1: Abra o ESET. Depois clique em Setup
Etapa 2: Clique em Proteção de rede
Etapa 3: Clique no assistente de solução de problemas
Etapa 4: Encontre a Comunicação 10.0.75.2 (configuração padrão do docker IP) Basta verificar qual o intervalo de IPs definido nas configurações do docker. Em seguida, procure o IP que reside nesse intervalo.
Etapa 5: clique no botão Desbloquear , e você deverá receber esta tela.
Isso resolveu o problema por mim mesmo.
Você pode então acessar as Regras e verificar a regra que foi adicionada.
PS: Este é o meu primeiro post, desculpe por qualquer procedimento incorreto.
fonte
Somente esta solução me ajuda a:
Set-NetConnectionProfile -interfacealias "vEthernet (DockerNAT)" -NetworkCategory Private
fonte
Set-NetConnectionProfile
deve ser executado no PowerShell como administrador e não como um Cmd normal. Ele funciona muito bem para mim, mas o adaptador Ethernet ainda éunidentified network
Minha solução foi desconectar da VPN; que estava causando o problema
fonte
Eu não estava usando nenhum firewall de terceiros ao encontrar esse erro. Eu estava convencido de que era um problema do Firewall do Windows, apesar de desabilitar o Firewall do Windows não funcionar para mim. Finalmente encontrei este post de blog depois de muita pesquisa: Erro no Docker no Windows 10: um firewall está bloqueando o compartilhamento de arquivos ...
Acabou NÃO tendo a ver com o Firewall do Windows incorporado.
fonte
Minha unidade C parou de ser compartilhada com o Docker após uma atualização recente do Windows 10. Eu estava tendo o mesmo problema dizendo que foi bloqueado pelo firewall do Windows ao tentar compartilhá-lo novamente.
Examinando as soluções acima, encontrei algo que funcionou para mim mais simples do que qualquer outra coisa que vi nesta página. No Painel de controle \ Todos os itens do painel de controle \ Centro de rede e compartilhamento , na conexão vEthernet (DockerNAT) , desmarquei a propriedade Compartilhamento de arquivos e impressoras para redes Microsoft e salvei a configuração. Depois, verifiquei a propriedade novamente para reativá-la e a salvei novamente.
Nesse ponto, consegui compartilhar novamente a unidade C nas configurações do Docker. Não sei por que isso funcionou, mas não foi um problema de firewall, que já possui uma entrada para o DockerSmbMount.
fonte
Eu tive esse problema com o Kaspersky; desligar o Kaspersky funcionou, então eu sabia que era o firewall. No meu caso, a Kaspersky já estava bloqueando a porta 445 por algum motivo. Eu tive que ir para Regras de pacotes para o firewall, serviços locais (TCP) e remover 445 da lista de portas de blocos.
fonte
Para máquinas Windows 10 em redes de domínio, ao criar o adaptador Ethernet virtual Hyper-V, ele é categorizado como uma rede pública. É necessário alterá-lo para uma rede privada para permitir as regras mais relaxadas do Firewall do Windows e, portanto, permitir o compartilhamento de arquivos.
Execute o seguinte comando no PowerShell:
Altere o nome entre aspas se a conexão de rede Hyper-V virtual da sua máquina for chamada de outra coisa.
fonte
Meu problema foi que o Cisco Anyconnect VPN interferiu na rede interna do docker
Para corrigir isso, vá para:
Cisco Anyconnect Settings> Preferences> check
Allow local (LAN) access when using VPN
fonte
Allow local (LAN) access when using VPN
já estava marcada, então eu a desmarquei, desconectei, verifiquei novamente a opção e reconecte-me à VPN. O Docker para Windows aplicou o compartilhamento de unidade conforme desejado.Conforme indicado em outra resposta, o Docker não funciona bem com uma VPN. Se você estiver usando o Nordvpn, precisará desativar "Invisibility on LAN" e provavelmente "Internet Kill Switch" .
Se você fez isso, ele deve funcionar mesmo com a VPN ativa.
fonte
Isso depende de qual firewall você instalou. No meu caso, desabilitei o Firewall do Windows interno e estou usando o ESET Smart Security para que minhas regras se pareçam com:
445
:Talvez essa não seja a resposta, pois não está relacionada ao Firewall do Windows, mas pode lhe dar uma pista do que fazer.
fonte
Nenhuma das opções acima funcionou para mim.
O que finalmente fez o truque foi abrir as propriedades da rede "vEthernet (DockerNAT)" e marcar a caixa "Comutador virtual extensível Hyper-V" na parte inferior da lista, na guia "Rede".
Não tenho certeza se essa é a correção real ou se de alguma forma redefinir o adaptador de rede para mim ... mas funcionou!
fonte
Parece que muitos têm esse problema ao executar o Cisco AnyConnect. Eu tenho o mesmo problema e aqui está como eu resolvi:
A causa: A sub-rede que está sendo usada pelo Docker está na lista de Rotas protegidas gerenciadas pelo Cisco AnyConnect (acredito que esta lista seja gerenciada pelo administrador da sua VPN).
A solução: Mude a sub-rede usada pelo Docker para não se sobrepor à lista que está sendo gerenciada pelo AnyConnect.
Por exemplo, no meu caso, mudei de 10.0.75.0 (sobreposto com 10.0.0.0/8) para 172.31.0.0/28.
fonte
Eu tive o mesmo problema e tentei todas as correções - e aconteceu que mais de uma era necessária:
Escrevi uma explicação completa em http://kajabity.com/2017/08/unblock-docker-for-windows-firewall-issues-with-host-volumes/
fonte
Minha unidade G parou de ser compartilhada com o Docker após uma atualização recente do Windows 10. Eu estava tendo o mesmo problema dizendo que foi bloqueado pelo firewall do Windows ao tentar compartilhá-lo novamente.
Tentei resolver esses problemas com algumas sugestões, mas não consigo resolver esse problema depois que tentei redefinir credenciais abaixo de unidades compartilhadas e meu problema foi resolvido.
Então, se você quiser, pode tentar fazer isso -
fonte
Tudo o que todos postaram NÃO funcionou para mim.
ISSO FEZ.
Eu instalei a versão EDGE. Fui ao WINDOWS DEFENDER e desabilitei o firewall do DOCKER NAT. (não meu adaptador ethernet atual, apenas o docker nat)
Uma vez que eu desabilitei o Windows Defender / firewall dessa maneira, funcionou bem.
ugh. realmente espero que ajude alguns de vocês!
fonte
No meu caso, desativei o "Bloco TCP 445" no Windows Defender Firewall com Segurança Avançada e funcionou. Em seguida, habilite -o novamente após definir unidades compartilhadas no Docker.
fonte
Eu tive o mesmo problema com o F-secure, o DeepGuard estava bloqueando o serviço Docker. Minha solução foi:
Abra o cliente F-secure e clique em " Tarefas "
Escolha " Permitir que um programa seja iniciado "
Escolha na lista "com.docker.service" e pressione " Remover "
Depois disso, reinicie o cliente Docker e tente solicitar o compartilhamento de arquivos.
Também é um guia muito bom para solucionar problemas aqui: Erro: um firewall está bloqueando o compartilhamento de arquivos entre o Windows e os contêineres
fonte
Eu tive o mesmo problema com o firewall, não me permitindo compartilhar minha unidade C. Eu tentei todas as soluções listadas acima e nada funcionou para mim. Desinstalei completamente o docker da minha máquina.
Control Panel\Programs\Programs and Features -> select Docker for Windows -> Uninstall
Depois, acesse o site do docker e clique em
Get Docker for Windows (Stable)
Depois disso, eu pude compartilhar a unidade C
fonte
Para o AVG Internet Security, ativar o Modo de compartilhamento de conexão com a Internet nas configurações do Firewall fez o truque para mim.
fonte
Mesmo depois de garantir que a regra do firewall de entrada esteja configurada corretamente e mesmo depois de desinstalar e reinstalar o Serviço de compartilhamento de arquivos e impressões , não funcionou para mim.
Solução: além disso, eu também tive que fazer uma terceira coisa. Eu tive que desativar a caixa de seleção Impedir conexões de entrada quando estiver em uma rede pública nas configurações específicas do firewall para redes públicas. Depois de fazer isso, começou a trabalhar para mim também. Veja as capturas de tela anexadas no final desta mensagem.
Não sei há quanto tempo essa opção já existe. Atualmente, estou trabalhando no Win 10 Pro 1709 16299.402.
1. Abra configurações específicas de firewall para redes públicas
2. Desmarque esta caixa de seleção
fonte
Usando o Kaspersky Internet Security, você pode resolver isso facilmente se alterar o
vEthernet (DockerNAT)
tipo de adaptador de rede paraTrusted network
.Configurações> Proteção> Firewall> Redes> vEthernet (DockerNAT)> Selecione "Rede confiável"
fonte
25 Jan 2020
Parece, é um problema nas versões antigas, eu instalei a última versão:
e funcionou para mim sem nenhuma configuração.
fonte
Este (link abaixo) parece ser a melhor solução que encontrei até agora. É persistente nas reinicializações. É melhor explicado aqui: https://gist.github.com/biggyspender/8b5b2ed9ff63de31045d41304e3915b3
A interface de rede do vEthernet parece ser criada dinamicamente sempre que o sistema é iniciado e é criada no grupo 'Público' em vez de no grupo 'Privado' (onde funciona). As edições em um dos scripts de inicialização do Docker (chamadas no link acima) automatizam o comando / correção do powershell observado por David Tesar acima ...
Tive mais sorte em adicionar a função ao script, em vez de editar o script e alterar 'Internal' para 'Private'.
fonte
Se nenhuma das opções acima funcionar, verifique se você não está conectado a uma VPN . Foi exatamente o que aconteceu comigo: eu estava conectado a uma VPN usando o cliente Cisco AnyConnect, e também certifique-se de definir um DNS estático nas configurações do docker.
fonte
Eu tentei tudo listado aqui e em https://github.com/docker/for-win/issues/360
Nada funcionou para mim.
Eu executo meu ambiente de desenvolvimento em um contêiner de docker e, enquanto estiver na VPN corporativa (Cisco AnyConnect), preciso montar minha unidade local no contêiner para acessar meus arquivos de projeto.
Aqui está um docker hack que funcionou para mim. Adicione
--publish 8000:8000
ao seu comando docker run existente.assim
se tornará
Verifique se a porta não está sendo usada, caso contrário, você receberá este erro:
fonte
Em resumo, use a versão Edge.
A versão Edge do Docker para Windows desde 2.1.5.0 (2019-11-04) possui uma nova implementação de compartilhamento de arquivos sem exigir modificações no firewall https://docs.docker.com/docker-for-windows/edge-release-notes /
"Nova implementação de compartilhamento de arquivos: o Docker Desktop introduz uma nova implementação de compartilhamento de arquivos que usa soquetes gRPC, FUSE e Hypervisor em vez das redes Samba, CIFS e Hyper-V. A nova implementação oferece desempenho aprimorado de E / S. Além disso, ao usar o novo sistema de arquivos:
"
Você pode baixar a versão de borda: https://download.docker.com/win/edge/Docker%20Desktop%20Installer.exe
Observe que a partir de agora, a versão de borda do 2.1.7.0 será usada para a próxima versão estável: "Nota: O Docker Desktop Edge 2.1.7.0 é o candidato à versão para a próxima versão estável do futuro". Portanto, o risco de usar o Edge é relativamente baixo. Ou você pode esperar pelo próximo lançamento estável, para evitar todos esses problemas de firewall.
fonte
para aqueles que não conseguem resolver esse problema de forma alguma, tente: mapear manualmente a unidade no host do docker:
https://github.com/docker/for-win/issues/466#issuecomment-416682825
A pesquisa está aqui: https://github.com/docker/for-win/issues/466#issuecomment-398305463
fonte
Achei muito fácil. Basta acessar suas conexões de rede. Você pode acessar o Painel de controle / Rede e compartilhamento. Você encontrará várias conexões. Procure a conexão do Docker. Selecione qual é o padrão. Após selecionar a rede, vá para Propriedades. Na seção de propriedades, ative a opção Switch virtual extensível Hyper-V . Isso ajudará o contêiner virtual a usar a placa de rede.
fonte
O que isso fez comigo (após várias horas de tentativa e erro) foi alterar a Máscara de sub-rede de
255.255.255.240
para255.255.255.0
(o que não deve mudar nada).Como parte da tentativa-e-erro, eu fiz todo o resto listado no artigo, mas sem sucesso .. mas este último passo foi feito .. e reverter para
255.255.255.240
não interrompe o bom ciclo.Eu admito, não faz sentido .. mas pode estar relacionado a um estado interno que está sendo acionado apenas pela mudança de rede.
Enfim, se eu ajudei apenas um, valeu a pena o esforço.
fonte