web-dev-qa-db-ja.com

WindowsでDockerが起動しない:dockerを起動するのに十分なメモリがありません

WindowsでDockerを使い始めようとしています。私のマシンには4GBのRAMと1.9GHz-2.5GHz Intel i5プロセッサが搭載され、Windows 10 Pro x64を実行しています。これらは強力な仕様ではないことはわかっていますが、 Dockerを実行するには?

ただし、Dockerをダウンロードすると、エラーメッセージが表示されます。

Dockerを起動するのに十分なメモリがありません

私はこれに関するさまざまなフォーラムの投稿とgithubの問題を見てきましたが、Dockerの設定を変更するなど、私が見ることができるすべてのアドバイスに従いました。

enter image description here

また、Hyper-Vの設定を変更することについても言及しましたVMただし、これは削除され、起動のたびにDockerの指定された設定で再作成されたようです。 1024MBのRAM。すべてが失敗しました。

他に何ができますか?マシン上で何らかの形でdockerを実行できますか?注:必須ではないバックグラウンドアプリはすべて閉じました。特定の解決策が機能しない、かなり一般的な問題と思われるものについて、他の多くの提案はないようです。

22
George Edwards

私も同じ問題に遭遇しました。動的メモリの提供から、Hyper Vなどの有効化と無効化まで、すべてを試しました。しかし、それでも成功しませんでした。

次に、これらの手順を試しました

WindowsでDockerが起動しない:dockerを起動するのに十分なメモリがありません

1)システムトレイメニューから、Dockerアイコンを右クリックします

2)Windowsコンテナに切り替え...

3)システムを再起動します。

Dockerの再起動後、ステータスが表示されます:Docker is running

お役に立てれば!

PS:rfayが言ったように、ほとんどのユーザーがWindowsコンテナーに切り替えた後、Linuxコンテナーに戻すことは機能するはずです。


更新(2019年5月1日)

上記の方法にもかかわらず、まだWindowsマシンでdockerを起動できない場合は、次のことを試してください。

  • RAMMapのダウンロード Microsoftの公式Webサイトから
  • アプリケーションを開き、Emptyメニューを選択します
  • サブメニューリストから最初のオプションを選択しますEmpty Working Sets
  • F5を押して更新します

今、ドッカーを実行してみてください、これは動作するはずです。がんばろう!

RAMMap Application

39
rbashish

[設定]で工場出荷時のデフォルトにリセットを実行しました。そしてラップトップを再起動しました。それは私のために働いた

3
Gurvinder singh

RAMの問題ではありません。これは、Dockerに割り当てられたディスクメモリです。
これは、Dockerがイメージまたはその他のdocker関連の操作を作成するための十分なスペースがないことを意味します。

Docker設定>>詳細設定>>ディスクイメージの最大サイズを開きます

このサイズを増やして、変更を適用します。

それは自動的に再起動し、それからあなたは行ってもいいです。

enter image description here

3

ウィンドウを開いているときにこのエラーが発生した場合は、検索ボックスに移動します

#1 type Hyper-V Manager 
 Click on it,
 a window like attached screenshot open,

enter image description here

#2 Select  MobilinuxVM(normally same name if running windows docker)
#3 Right click and open - Setting 
    2 The second window will open(setting for MobiLinux) i.e to the screenshot.
#4 Go to Memory Tab in left Pane.
#5 click on a dynamic checkbox and set minimum value to some lower amount say 512, and max value to the desired one,
#6 apply 
now it will start running as well after few minutes take the amount it required as well.
2
Mohit

HyperV設定でNUMAスパニングを有効にしましたか?有効にしない場合は、問題を解決できると思います。

既定では、Windows ServerはNUMAスパニングを有効にします。これにより、仮想マシン(VM)は任意のNUMAノードのメモリにアクセスして使用できるため、最も柔軟性が高くなります。ただし、VMがプロセッサコアと同じNUMAノードでメモリを使用するように強制する場合と比較して、パフォーマンスが低下する可能性があります。

NUMAスパニングを無効にすることにより、VMが同じNUMAノードでメモリとプロセッサコアを使用し、最高のパフォーマンスが得られるようにします。これは、管理者としてNUMAと無効化の意味に満足している場合、および最適な構成を確保するのに役立つ追加の管理スイートがある場合は、一度だけ変更する必要があります。

NUMAスパニングを構成するには、Hyper-Vの設定を開き、NUMAスパニングオプションを選択して無効にします。解決されます。私はこの問題に1週間苦労し、NUMAを無効にして解決しました。

Hyper-VマネージャーでNUMAを無効にすることで、これが解決済みとしてマークされると確信しています。

2
user11078255

Dockerトレイアイコンを右クリックして設定を選択し、[詳細設定]セクションをタップして、この問題を解決しました。

次に、メモリをデフォルトの2048から1536に下げて、チャームのように動作します。別のオプションは、Windowsコンテナに切り替えてからマシンを再起動し、Linuxコンテナに戻すことです。

以下は、[詳細設定]タブが開いた状態のドッカー設定です。メモリは1536で、私のラップトップには4GBのRAMがあります。

enter image description here

また、仮想マシン「MobyLinuxVM」は次のように実行されています。

enter image description here

遅い回答だったとしても、これがいつか誰かを助けることを願っています:)

2
STREET MONEY

私も同じ問題を抱えています。たぶん、Hyper-vに他の仮想マシンがあり、他の仮想マシンにもメモリが必要です。他のすべてのHyper-v仮想マシンを停止して、もう一度テストしてください。私のために働いた My Hyper-v Manager

enter image description here

1
Allex Ferra

この問題が発生したとき、C:\ Program Files\Docker\Docker\resourcesにあるDockerインストールのリソースフォルダーにあるPowerShellスクリプトMobyLinux.ps1を変更しました。基本的に、$ CPUの値を2に、$ Memoryの値を512に強制しました。これは、開発ボックスの限られたリソースで機能しました。

enter image description here

この時点で、DockerがHyper-VでMobyLinuxVMインスタンスをドロップし、PowerShellスクリプトから再作成すると、現在値が使用されています: enter image description here

今回はVMが起動し安定しているため、DockerはWindowsコンテナからLinuxコンテナに正常に切り替わります。

enter image description here

これが誰かを助けることを願っています。

1
Acrilix

メモリを下げて、ディスクイメージサイズが32 GBになるように最低にスワップし、Windowsコンテナーに切り替えたり再起動したりすることなく、最終的に起動しました。

0
Mike Cheel