WindowsPCがずっとファンが回っており、ハードディスクがゴリゴリ動いているような事象が発生したので、タスクマネージャを開いてみると以下のように「Vemmem」というプロセスがゴリゴリ動いていました。
今回の事象を調べていったん改善したのでまとめます。
調べたところWindowsの「Docker Desktop」が影響していた
この事象として、WindowsのDocker上でコンテナは動かしていない状態になります。
また、Dockerコマンドを実行しても以下のようなエラーが発生してしまいます。
> docker ps error during connect: In the default daemon configuration on Windows, the docker client must be run with elevated privileges to connect.: Get "http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/containers/json": open //./pipe/docker_engine: The system cannot find the file specified.
いろいろと調べたところ以下の記事が。
参照URL:
https://qiita.com/yoichiwo7/items/e3e13b6fe2f32c4c6120
要は、WSL2のメモリサイズを固定することでWindowsホストのメモリの逼迫を防ぐようです。
%USERPROFILE%\.wslconfigのコンフィグに以下の設定を行います。
「C:\Users\username」配下に以下を設定します。
ファイル名「.wslconfig」
[wsl2] memory=6GB swap=0
ただ、あまりWindowsPCのメモリをいじるのは面倒ですし、この設定忘れちゃったら何かあったときに面倒なので不採用とします。
Dockerアンインストール・入れなおし
結果、私はいったんDockerDesktopを入れなおすことにしました。
アンインストールは「コントロールパネル」>「プログラムのアンインストール」からDockerDesktopをアンインストールします。
アンインストール後、以下のページから再度DockerDesktopをダウンロードし、インストールします。
https://docs.docker.com/docker-for-windows/install/
Dockerコンテナは簡単に構築できるし、手順さえ覚えていれば特に苦ではないので、この方法にします。
Linux カーネル更新プログラム パッケージをダウンロードする
DockerDesktopインストール後、Linuxカーネル更新プログラムのパッケージをダウンロードするようにポップアップが発生します。
この時カーネル更新プログラムパッケージをインストールしていないと、上記と同じ事象が発生し、Dockerコマンドで以下のように同じエラーが発生します。
> docker ps error during connect: In the default daemon configuration on Windows, the docker client must be run with elevated privileges to connect.: Get "http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/containers/json": open //./pipe/docker_engine: The system cannot find the file specified.
ということで、以下リンクからLinux カーネル更新プログラム パッケージをダウンロードし、インストールします。
https://docs.microsoft.com/ja-jp/windows/wsl/install-win10#step-4—download-the-linux-kernel-update-package
「x64 マシン用 WSL2 Linux カーネル更新プログラム パッケージ」という項目をクリックするとダウンロードが始まります。
Linuxカーネル更新プログラムインストール後、Dockerは正常に動きました。
いったんこれで様子みですね。
Dockerを構築するならVPSがおすすめです。
エンジニアのオンライン学習
ITエンジニアにおすすめの教材、オンラインスクールです。
無料からエンジニアの学習ができる教材などまとめているので参考にしてください。
おすすめオンライン教材 | |
自宅で学習ができるオンラインスクール | |
ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。
コメントを残す