LoginSignup
8
3

More than 5 years have passed since last update.

Check! Docker for Windows でTCP接続のバッファが足りないエラー (lacked sufficient buffer space or because a queue was full.) の対処

Posted at

こんにちは、 @dz_ こと大平かづみです。

Prologue - はじめに

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 にも上がっていますね。

どうやら、このエラーのようです。

エラーコード 説明
WSAENOBUFS 10055 No 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 接続数の上限値を引き上げねばならないようです。レジストリ書換えは億劫ですがやってしまいましょう。

なお、レジストリ書換えに失敗すると危険、ということは昔から変わらないようですので、ご自身の判断でご対応ください。

手順

  1. Windows メニューを開いて、入力欄に regedit と入力し、レジストリエディタを開きます。
  2. レジストリエディタの、上部のパス入力欄に、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters を入力して開きます。
  3. 「Edit」>「New」>「DWORD (32-bit) Value」をクリック(下図参考)して、名前に MaxUserPort と入力します。
  4. MaxUserPort をダブルクリックし、「Base」を Decimalに変更し、「Value data」に 設定する値を入力し、「OK」をクリックします。(下図参考)
    • 規定値は 5000 、上限は 65534 (10進数)です。
  5. レジストリエディタを閉じ、マシンを再起動します。

image.png

image.png

いかがですか!ちゃんと起動しましたか!(ドキドキ

私の環境では無事にうごきました~('ω')/

Epilogue - おわりに

しばらくこのエラーを放っていたんですが、ちょっと都合が悪くなったので重い腰を上げて対応しました。これでさらなる快適コンテナライフを楽しめるはず!

8
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
3