Check! Windows에서 TCP 연결 버퍼가 부족한 오류 (lacked sufficient buffer space or because a queue was full.)처리하다

안녕하십니까?

Prologue - 소개


Windows Docker for Windows에서 이 오류가 발생할 수 있습니다.Docker for Windows를 재부팅하면 수정할 수 있지만 불편하기 때문에 근본적으로 처리해 보겠습니다.
Error response from daemon: An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full.

오류 분석


이 일도 Github의 issue에 올랐다.
  • @dz_
  • 이 오류인 것 같습니다.
  • An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full · Issue #320 · docker/for-win · GitHub
  • 오류 코드
    설명WSAENOBUFS 10055No buffer space available. An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full.

    처리하다


    대응책으로 TCP 연결 수의 상한치를 높여야 할 것 같습니다.등록표를 바꾸기 싫지만 합시다.
    또 등록표 개작에 실패하면 위험하다는 점은 예전부터 변함이 없으니 자신의 판단에 따라 대처해 달라고 당부했다.
  • Windows Sockets Error Codes (Windows)
  • 단계

  • Windows 메뉴를 열고 입력란에 regedit 를 입력하고 등록표 편집기를 엽니다.
  • 레지스트리 편집기의 맨 위에 있는 경로 입력란에 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 를 입력하여 엽니다.
  • Edit > New > DWORD(32-bit) Value(아래 그림 참조)를 클릭하고 이름MaxUserPort을 입력합니다.
  • MaxUserPort를 두 번 클릭하고 Base를 Decimal로 변경하고 Value data로 설정할 값을 입력한 다음 확인을 클릭합니다.(다음 그림 참조)
  • 규정치5000, 상한선65534(10진법).
  • 레지스트리 편집기를 닫고 컴퓨터를 다시 시작합니다.
  • When you try to connect from TCP ports greater than 5000 you receive the error 'WSAENOBUFS (10055)'

    어때요!제대로 작동했어!심장 박동
    내 환경에서 순조롭게 움직였어~('ω')/

    Epilogue - 종료


    잠시 이 실수를 털어냈지만 조금 불편해서 무거운 허리를 들어 대응했다.이렇게 하면 더욱 편안한 컨테이너 생활을 누릴 수 있을 것이다!

    좋은 웹페이지 즐겨찾기