developer tip

Windows 용 Docker가 드라이브를 공유 할 수 있도록 Windows 방화벽 설정

optionbox 2020. 8. 2. 18:23
반응형

Windows 용 Docker가 드라이브를 공유 할 수 있도록 Windows 방화벽 설정


Windows 방화벽이 Windows 10 컴퓨터에서 Docker for Windows가 C :를 공유하도록하는 시도를 차단하고 있습니다.

Windows 방화벽이 꺼져있을 때 제대로 작동합니다. 때 나는 얻을

방화벽이 Windows와 컨테이너 간의 파일 공유를 차단하고 있습니다. 자세한 내용은 설명서를 참조하십시오.

문서는 말합니다

다른 네트워크에서 포트 445를 열 필요는 없습니다. 기본적으로 10.0.75.2 (가상 머신)에서 10.0.75.1 포트 445 (Windows 호스트)에 대한 연결을 허용하십시오.

나는 그것을하는 방법을 찾으려고 노력하고있다. 누군가 조언 할 수 있습니까?


실제로 C 드라이브를 공유 할 필요는 없지만 Hyper-V 가상 네트워크 카드에서 파일 및 인쇄 공유 서비스를 다시 설치 (또는 선택 취소-확인을 클릭 한 다음 확인) 할 수도 있습니다. 이 기사를 참조하십시오.

또한 네트워크 프로필 (예 : 공용)에 제한이있는 경우 위의 작업을 수행하기 전에이 PowerShell 명령을 통해 "vEthernet (DockerNAT)"카드의 기본 "식별되지 않은 네트워크"를 개인용으로 변경하는 것이 좋습니다.

Set-NetConnectionProfile -interfacealias "vEthernet (DockerNAT)" -NetworkCategory Private

좋아, 같은 문제로 실행 한 후 해결책을 찾았습니다.

이것이 내가 한 일입니다.


1 단계 : ESET을 엽니 다. 그런 다음 설정을 클릭하십시오

설정을 클릭하십시오

2 단계 : 네트워크 보호를 클릭하십시오

네트워크 보호를 클릭하십시오

3 단계 : 문제 해결 마법사를 클릭합니다

문제 해결 마법사를 클릭하십시오

4 단계 : 통신 찾기 10.0.75.2 (기본 도커 IP 설정) 도커 설정 내에 정의 된 IP 범위를 확인하십시오. 그런 다음 해당 범위에있는 IP를 찾으십시오.

연결을 찾으십시오

5 단계 : 차단 해제 버튼을 클릭 하면이 화면이 나타납니다.

차단 해제를 클릭

이것은 나 자신을 위해 문제를 해결했습니다.

그런 다음 규칙으로 이동하여 추가 된 규칙을 확인할 수 있습니다.


추신 : 이것은 첫 번째 게시물이며 잘못된 절차로 죄송합니다.


이 솔루션 만 도움이됩니다.

  • Hyper-V 관리자-> 가상 스위치 관리자-> DockerNAT-> 연결 유형으로 이동하십시오. 내부에서 개인으로 변경, 적용, 다시 내부로 변경, 적용
  • MobyLinuxVM 재시작
  • Docker를 다시 시작하십시오.
  • Docker 네트워크 프로파일을 '비공개'로 설정하십시오. PowerShell에서 관리자 권한으로 명령 실행
    Set-NetConnectionProfile -interfacealias "vEthernet (DockerNAT)" -NetworkCategory Private
  • DockerNAT 연결에서 Microsoft 네트워크에 대한 파일 및 프린터 공유 재설정
  • Docker-> 설정-> 공유 드라이브로 이동하여 C를 공유하십시오.

내 솔루션은 VPN에서 연결을 끊는 것이 었습니다. 그 문제를 일으킨


이 오류가 발생했을 때 타사 방화벽을 사용하지 않았습니다. Windows 방화벽을 비활성화해도 효과가 없었지만 Windows 방화벽 문제라고 확신했습니다. 많은 연구 끝에 마침내이 블로그 게시물을 발견했습니다 .Windows 10의 Docker 오류 : 방화벽이 파일 공유를 차단하고 있습니다 ...

그것은 결국 NOT Windows 방화벽에 내장 된 할 필요.

수정

  1. vEthernet (DockerNAT) 네트워크 어댑터 에서 Microsoft 네트워크 용 파일 및 프린터 공유를 선택 취소 하십시오 (Windows 네트워크 및 공유 센터 에서 연결을 찾을 수 있음 ).
  2. 다시 확인하고 활성화되어 있는지 확인하십시오.

최근 Windows 10 업데이트 후 내 C 드라이브가 Docker와 공유되지 않았습니다. 다시 공유하려고 할 때 Windows 방화벽에 의해 차단되었다는 동일한 문제가 발생했습니다.

위의 솔루션을 살펴보면이 페이지에서 본 것보다 더 간단한 것을 발견했습니다. 에서 제어판 \ 모든 제어판 항목 \ 네트워크 및 공유 센터 , 온 vEthernet (DockerNAT) 연결, 나는 속성 선택 취소 Microsoft 네트워크 용 파일 및 프린터 공유 및 설정을 저장. 그런 다음 속성을 다시 확인하여 다시 활성화하고 저장했습니다.

이 시점에서 Docker 설정에서 C 드라이브를 다시 공유 할 수있었습니다. 왜 이것이 효과가 있었는지 모르겠지만 방화벽 문제가 아니기 때문에 이미 DockerSmbMount에 대한 항목이 있습니다.


카스퍼 스키에서이 문제가 발생했습니다. 카스퍼 스키를 끄면 방화벽이라는 것을 알았습니다. 제 경우에는 카스퍼 스키가 어떤 이유로 이미 포트 445를 차단하고있었습니다. 방화벽, 로컬 서비스 (TCP)에 대한 패킷 규칙으로 이동하여 블록 포트 목록에서 445를 제거해야했습니다.

이미지 1

이미지 2


도메인 네트워크의 Windows 10 컴퓨터의 경우 Hyper-V 가상 이더넷 어댑터를 만들 때 공용 네트워크로 분류됩니다. 보다 완화 된 Windows 방화벽 규칙을 허용하고 따라서 파일 공유를 허용하려면 개인 네트워크로 변경해야합니다.

PowerShell에서 다음 명령을 실행하십시오.

Set-NetConnectionProfile -interfacealias "vEthernet (DockerNAT)" -NetworkCategory Private

컴퓨터의 가상 Hyper-V 네트워크 연결을 다른 것으로 부르면 이름을 따옴표로 변경하십시오.


내 문제는 Cisco Anyconnect VPN이 내부 도커 네트워킹을 방해한다는 것입니다.

이 문제를 해결하려면
Cisco Anyconnect 설정> 기본 설정> 확인으로 이동하십시오.Allow local (LAN) access when using VPN


설치 한 방화벽에 따라 다릅니다. 필자의 경우 기본 제공 Windows 방화벽을 비활성화하고 ESET Smart Security를 ​​사용하여 규칙이 다음과 같이 표시됩니다.

  • Docker가 호스트에 연결하도록 허용 하고 허용으로 설정해야하므로 IN 연결 규칙을 작성하십시오.

여기에 이미지 설명을 입력하십시오

  • 문서 의미에서 설명한대로 포트를 올바르게 설정하십시오 445.

여기에 이미지 설명을 입력하십시오

  • 원격 IP 주소를 설정하십시오.

여기에 이미지 설명을 입력하십시오

어쩌면 이것은 Windows 방화벽과 관련이 없기 때문에 대답이 아닐 수도 있지만 어떻게 해야할지에 대한 단서를 제공 할 수 있습니다.


다른 답변에서 언급했듯이 Docker는 VPN으로 훌륭하게 재생되지 않습니다. Nordvpn을 사용하는 경우 "Invisibility on LAN" 및 아마도 "Internet Kill Switch" 를 비활성화해야합니다 .

그렇게하면 VPN이 활성화 된 상태에서도 작동합니다.

NordVPN 클라이언트


위의 어느 것도 나를 위해 일하지 않았습니다.

마지막으로 트릭은 "vEthernet (DockerNAT)"네트워크의 속성을 열고 "네트워킹"탭 아래 목록 하단의 "Hyper-V Extensible Virtual Switch"상자를 체크하는 것이 었습니다.

이것이 실제 수정인지 아니면 어떻게 든 네트워크 어댑터를 재설정했는지 확실하지 않지만 작동했습니다!


나는 같은 문제가 있었고 모든 수정 사항을 시도했지만 둘 이상이 필요하다는 것이 밝혀졌습니다.

  • 방화벽 규칙 추가 (Norton Security for me)
  • 네트워크를 비공개로 설정
  • 드라이브 공유

http://kajabity.com/2017/08/unblock-docker-for-windows-firewall-issues-with-host-volumes/ 에서 전체 설명을 작성했습니다.


모두가 나를 위해 작동하지 않았다 게시했습니다.

이건

EDGE 릴리스를 설치했습니다. 그런 다음 WINDOWS DEFENDER로 이동하여 DOCKER NAT의 방화벽을 비활성화했습니다. (내 실제 이더넷 어댑터가 아니라 도커 NAT 만)

일단 Windows 방어자 / 방화벽을 비활성화하면 잘 작동합니다.

우와 정말 당신의 일부를 도울 희망!


F 보안과 동일한 문제가 있었으며 DeepGuard는 Docker 서비스를 차단했습니다. 내 해결책은 다음과 같습니다.

F- 보안 클라이언트를 열고 " 작업 "을 클릭하십시오

여기에 이미지 설명을 입력하십시오

선택 " 프로그램 시작 허용 "

여기에 이미지 설명을 입력하십시오

"com.docker.service"목록에서 선택하고 " 제거 "

여기에 이미지 설명을 입력하십시오

그런 다음 Docker 클라이언트 다시 시작 하고 파일 공유를 적용하십시오.

또한 매우 유용한 문제 해결 안내서 : 오류 : 방화벽이 Windows와 컨테이너 간의 파일 공유를 차단하고 있습니다.


최근 Windows 10 업데이트 후 내 G 드라이브가 Docker와 공유되지 않았습니다. 다시 공유하려고 할 때 Windows 방화벽에 의해 차단되었다는 동일한 문제가 발생했습니다.

그런 다음 몇 가지 제안 으로이 문제를 해결하려고 시도했지만 공유 드라이브 아래의 자격 증명을 재설정하려고 시도한 후에 해당 문제를 해결할 수 없으며 내 문제가 해결되었습니다.

원하는 경우이 작업을 수행 할 수 있습니다.

여기에 이미지 설명을 입력하십시오


방화벽과 관련하여 C 드라이브를 공유 할 수없는 것과 동일한 문제가있었습니다. 위의 모든 솔루션을 시도했지만 아무것도 효과가 없었습니다. 그런 다음 내 컴퓨터에서 docker를 완전히 제거한 Control Panel\Programs\Programs and Features -> select Docker for Windows -> Uninstall
다음 docker 웹 사이트Get Docker for Windows (Stable) 로 이동하여
C 드라이브를 공유 할 수있는 후를 클릭하십시오.


AVG Internet Security의 경우 방화벽 설정 에서 인터넷 연결 공유 모드를 활성화 하면 속임수가되었습니다.

여기에 이미지 설명을 입력하십시오


인바운드 방화벽 규칙이 올바르게 설정되어 있는지 확인한 후에도 파일 및 인쇄 공유 서비스를 제거했다가 다시 설치 한 후에도 작동하지 않습니다.

해결책 : 그 외에도 세 번째 일을해야했습니다. 공용 네트워크 에 대한 특정 방화벽 설정에서 공용 네트워크있을 때 들어오는 연결 방지 확인란을 비활성화해야했습니다 . 그 후에 그것은 나를 위해 일하기 시작했습니다. 이 메시지 끝에 첨부 된 스크린 샷을 참조하십시오.

이 옵션이 얼마나 오랫동안 있었는지 모릅니다. 현재 Win 10 Pro 1709 16299.402에서 작업 중입니다.


1. 공용 네트워크에 대한 특정 방화벽 설정을 엽니 다 공용 네트워크에 대한 특정 방화벽 설정 열기

2.이 확인란의 선택을 취소하십시오 이 확인란의 선택을 취소하십시오


이것은 (아래 링크) 내가 지금까지 찾은 최고의 수정 인 것 같습니다. 재부팅시에도 지속됩니다. 여기에 가장 잘 설명되어 있습니다 : https://gist.github.com/biggyspender/8b5b2ed9ff63de31045d41304e3915b3

vEthernet 네트워크 인터페이스는 시스템이 시작될 때마다 동적으로 생성되는 것으로 보이며 '비공개'그룹이 아닌 '공개'그룹에서 생성됩니다 (작동하는 위치). Docker 시작 스크립트 중 하나의 편집 (위 링크에서 호출)은 위의 David Tesar가 지적한 powershell 명령 / 수정을 자동화합니다.

스크립트를 편집하고 '내부'를 '비공개'로 변경하는 대신 스크립트에 함수를 추가하는 것이 더 행운이었습니다.


위의 방법으로 작동하지 않으면 VPN에 연결되어 있지 않은지 확인하십시오 . 그것이 바로 나에게 일어난 일입니다. Cisco AnyConnect 클라이언트를 사용하여 VPN에 연결되었으며 도커 설정에서 고정 DNS를 설정했는지 확인하십시오.


Kaspersky Internet Security를 ​​사용하면 vEthernet (DockerNAT)네트워크 어댑터 유형을로 변경하면이 문제를 쉽게 해결할 수 있습니다 Trusted network.

설정> 보호> 방화벽> 네트워크> vEthernet (DockerNAT)> "신뢰할 수있는 네트워크"선택

여기에 이미지 설명을 입력하십시오 여기에 이미지 설명을 입력하십시오 여기에 이미지 설명을 입력하십시오 여기에 이미지 설명을 입력하십시오


제 경우 에는 고급 보안 기능이있는 Windows Defender 방화벽 에서 "Block TCP 445"를 비활성화 했습니다. 그런 다음 Docker에서 공유 드라이브설정 한 후 다시 활성화 하십시오 .

TCP 445 차단 설정

공유 드라이브 설정


어떤 방법으로도이 문제를 해결할 수없는 경우 다음을 시도해보십시오. 수동으로 드라이브를 도커 호스트에 매핑하십시오.

https://github.com/docker/for-win/issues/466#issuecomment-416682825

연구는 여기에 있습니다 : https://github.com/docker/for-win/issues/466#issuecomment-398305463


나는 그것이 매우 쉽다는 것을 알았다. 네트워크 연결로 이동하십시오. 제어판 / 네트워크 및 공유 로 이동할 수 있습니다 . 다양한 연결을 찾을 수 있습니다. Docker 연결을 검색하십시오. 어느 것이 기본값인지 선택하십시오. 네트워크를 선택한 후 속성으로 이동하십시오. 속성 섹션에서 Hyper-V 확장 가능 가상 스위치 옵션을 활성화하십시오 . 가상 컨테이너가 네트워크 카드를 사용하는 데 도움이됩니다.


나를 위해 (몇 시간의 시행 후 오류가 발생한 후) 서브넷 마스크 255.255.255.240255.255.255.0(변경하지 않아야 함 )으로 변경하고있었습니다 .

시행 착오의 일환으로, 나는 기사에 나와있는 다른 모든 것을했지만 성공하지 못했습니다 ....이 마지막 단계는 ..으로 돌아가고 255.255.255.240좋은 사이클을 깨지 않습니다.

나는 말이된다는 것을 인정한다. 그러나 그것은 네트워크 변화에 의해서만 트리거되는 내부 상태와 관련이있을 수있다.

어쨌든, 내가 하나만 도와 주면 노력할만한 가치가 있습니다.

Docker Desktop edge, 2.0.4.1 (34207)

Hyper-V Extensible Virtual Switch 옵션을 활성화하면 나에게 도움이되었습니다. 다른 솔루션은 저에게 효과적이지 않습니다. HyperV Virtual Switch Manager -DockerNAT-확장-가상 스위치 확장 패널 에서 구성을 변경했습니다 .


대안 솔루션! 이 문제를 어떻게 해결했는지 잘 모르겠지만 트릭을 수행하는 다음과 같은 접근 방식이라고 생각합니다.

  • Hyper-V 관리자 열기
  • 가상 스위치 관리자를 선택하십시오.
  • 여러 가상 스위치가 DockerNAT라고하는 경우 그 중 하나의 이름을 다른 이름으로 바꿉니다.
  • DockerNAT에 연결 유형이 내부 네트워크인지 확인하십시오.
  • 또한 중복 항목의 연결 유형이 "외부 네트워크"인지 확인하고 드롭 다운 메뉴의 무선 연결이 아닌 이더넷 연결을 사용하십시오.
  • 확인을 누르고 Hyper-V 관리자를 닫습니다
  • 컴퓨터를 다시 시작하십시오 (만약 두 번).
  • 이제 Docker For Windows에서 docker 용 드라이브를 공유하십시오.

나를 위해 symantec 엔드 포인트 보호에서 방화벽을 일시적으로 비활성화하는 것이 유일한 방법이었습니다. docker setting GUI에서 C 드라이브를 공유하십시오. symantec에서 방화벽을 다시 활성화하십시오. (powershell 명령 등이 없음)

여기에 이미지 설명을 입력하십시오

참고 URL : https://stackoverflow.com/questions/42203488/settings-to-windows-firewall-to-allow-docker-for-windows-to-share-drive

반응형