ドッカーマシンのメモリMacを増やす方法


108

私はDockerを初めて使用し、Dockerイメージ-http://docs.memsql.com/4.0/setup/docker/からMemSQLを設定するこのチュートリアルを試してみます。私はMacを使用してboot2dockerいて、チュートリアルでは非推奨になっているようです。

VMを実行するには4GBのメモリが必要です。チュートリアルでは、これを行う方法を指定していますboot2dockerが、docker-machine / dockerツールボックスでこれを行う方法が見つかりません。

ここに私が使用しているコマンドと、boot2dockerの設定を変更せずにチュートリアルを実行しようとしているだけのエラーがあります。

docker run --rm --net=host memsql/quickstart check-system
Error: MemSQL requires at least 4 GB of memory to run.

回答:


111

Dockerマシンを作成するときに、メモリサイズを指定できます。

docker-machine create -d virtualbox --virtualbox-memory 4096 default

これで効果があるかどうかをお知らせください。


これは、メモリ割り当てを調整するための適切な場所のようです。ただし、このVMを再起動した後も同じエラーが発生します。ではcheck-systemプログラム(github.com/memsql/memsql-docker-quickstart/blob/master/...)、私はこのエラーを決定するであろうこれらの行を見ています。ONE_MB = 1024 ** 2virtual_memory = psutil.virtual_memory()if virtual_memory.total < ONE_MB * 3700: sys.stderr.write("Error: MemSQL requires at least 4 GB of memory to run.\n")
DJElbow 2015

2
設定を変更してこれを機能させることはできませんでしたが、上記のようにdocker machine vmを削除して再作成すると問題が解決しました!
DJElbow 2015

確かに、私は2番目の方法を掃除しましたが、それはもう機能しないようです。
BMW

178

コマンドラインからこれを行うことができます。たとえば、マシンをデフォルトの1cpu / 2048MB RAMから変更するには、次のコマンドを実行します。

docker-machine stop
VBoxManage modifyvm default --cpus 2
VBoxManage modifyvm default --memory 4096
docker-machine start

その後、設定を確認できます。

VBoxManage showvminfo default | grep Memory
VBoxManage showvminfo default | grep CPU

そしてdocker-machine inspect、物事の正しい状態を報告するには~/.docker/machine/machines/default/config.json、変更を反映するように編集します。


1
これは、GUI(バージョン5.0.16)が機能しない場合でも機能しました。
MikeF 2017年

6
この答えが一番上になるはずです
nakajuice 2017

5
コマンドを実行した後は、docker-machine inspect変更が表示されないことに注意してください。ただし、実行docker statsすると、変更が適用されていることがわかります。
スロビト

@slovitおよびその他:config.json実際のサイズを反映するようにdocker-machine ファイルを変更できます。例:の場合default、例のソリューションで使用されているように、~/.docker/machine/machines/default/config.jsonファイルを変更して、MemoryCPU変更されている場合は)サブプロパティをDriverに変更し4096ます。その後、docker-machine inspect適切な値が表示されます。
ScriptAutomate

79

macOS上のDockerバージョン1.12.1(ビルド:12133)以降の場合、UIからCPUとRAMを変更してDockerを再起動するオプションがあります。ツールバーから設定を見つけることができます。わかりやすくするために画像を添付しています。

手順:設定 -> 詳細設定 -> リソースの調整-> 適用して再起動

https://www.dropbox.com/s/znltd1v4r00nfpu/Screenshot%202017-03-24%2012.12.58.png?dl=0

Dockerの詳細タブ(メモリ)


3
これは[詳細設定]タブに移動しました。これを共有してくれてありがとう。
GabLeRoux 2017年

明白で完全に直観的ではなかった男-ありがとう!
AlienWebguy 2017年

virtualboxでディンギーを使用する場合にも、これらの変更は適用されますか?または、VBoxManageのみを使用してメモリサイズを調整する必要がありますか?
Artur79 2018

2
これに相当するコマンドラインはありますか?私はMac用のDockerを持っていますが、どうやらdocker-machine lsは何も与えないので、デフォルトのマシンを変更できません。
Andrea Bergonzo

42

Docker Machineメンテナーはこちら。config.json手動で調整してもうまくいかないと思います。

2つのオプションは、--virtualbox-memoryセットでマシンを作成するか、VirtualBox GUIでVMのメモリを調整することです(そのVMの「設定>システム」と思います)。マシンの電源がオフになっていて、機能する小さなスライダーがあることを確認してください。

編集:別の答えは、コマンドラインからもを使用してインプレース操作を実行できることを示していますVBoxManage


3
これは機能しますがdocker-machine inspect、VirtualBox GUIでメモリを変更した後でも、元のメモリ量が引き続き報告されることに注意してください。
タムリン

2
確かにdocker-machine inspect、正確な量を報告するには、編集する必要ありますconfig.json(その場所でinspect情報を取得します)。
nathanleclaire 2016年

1
Virtualboxでそれを行うのが最も簡単です
Niranjan Sonachalam

14

他の答えはうまくいきませんでした。私にとってうまくいった唯一のことは、デフォルトのマシンを削除して、より多くのメモリでそれを再作成することでした。

docker-machine rm default
docker-machine create -d virtualbox --virtualbox-memory=4096 --virtualbox-cpu-count=2 --virtualbox-disk-size=50000 default

この修正は、https//www.ibm.com/developerworks/community/blogs/jfp/entry/Using_Docker_Machine_On_Windows?lang = enにあります。


14

他の回答は、VBoxManageを使用してメモリを変更する方法を示しました。

docker-machine stop default
VBoxManage modifyvm default --memory 4096
docker-machine start default

コマンドラインから変更を確認するには:

VBoxManage showvminfo default | grep Memory

または

docker-machine ssh default free

こんにちはcpep 。回答を編集し、コードブロックを適切にフォーマットできますか?
TT。

4

fox xhyve(macosでの別の仮想化)〜/ .docker / machine / default / config.jsonプロパティDriver / Memory(デフォルトは1024)を変更して、Dockerマシンを再起動して変更を適用できます


で見つけました~/.docker/machine/machines/default/config.json。おかげ👍
タレクN. Elsamni
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.