LoginSignup
1
1

Docker on WSL2 (非docker desktop) の Compose で特定のコンテナに大きめのメモリを割り当て

Posted at

Docker on WSL2 (非 Docker Desktop) の Docker Compose で特定のコンテナに大きめのメモリを割り当てようとして沼ったので、記録を残します。

目次

  • 解決までの筋道
  • 動作を確認したバージョン
  • Docker Compose で Memory 割り当てを設定する方法
  • WSLconfig の設定方法
  • 最後に

解決までの筋道

Docker-compose.yml に memory の割り当てを記述

Docker stats で確認すると、memory 割り当てが反映されていない
(7.75GiB が上限になっている)

Docker の デフォルトの memory 上限 が WSL2 の memory 上限 に依存していることが分かった (けれど、私 WSL の memory 上限なんて設定していない)

WSL2 の memory 上限のデフォルトは物理メモリの X% ということがわかる

.wslconfig に memory 上限を設定し、WSL2 の memory 上限を変更することで、Docker の memory 上限を変更できた 👏

動作を確認したバージョン

Windows 11
Docker version 26.1.0
WSL version: 2.1.5.0

Docker Compose で Memory 割り当てを設定する方法

Docker Compose の公式ドキュメント を参照してください。

WSLconfig の設定方法

  1. File Explorer のアドレスバーに %USERPROFILE% を入力する
  2. .wslconfig ファイルを作成する
    以下は、14GB のメモリを WSL2 に割り当てる例
@"
[wsl2]
memory=14GB
swap=8GB
"@ | Out-File -FilePath .\.wslconfig
  1. WSL を 再起動 する
wsl --shutdown

最後に

最後までお読み頂きありがとうございます。励みになるので、良かったらいいね 👍 をお願い致します。

1
1
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
1
1