38
30

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Docker machine のメモリを増やす方法

Posted at

こんにちはみなさん

今回はしょうもないことでふらふらと調べまわった挙句、
それほど困るものでもなかった問題に遭遇したので、
とりあえず備忘録として挙げたものです

Docker Toolbox

今回はいろいろ面倒になったので、Docker Toolboxでdocker環境をオールインワンで突っ込んでいます

Docker Toolbox は docker を動かすために十分な環境を用意するためのインストーラです。
これを使用すると、windowsだろうがmacだろうが、ネイティブのコマンドライン上でdockerコマンドを使えるようになります
一昔前のboot2dockerですな
インストールが完了すると「Docker Quickstart Terminal」というアイコンが出てきて、これを起動すると、dockerを動かすための環境をセットアップして、動作環境を整備した状態にしてくれます

WS000000.JPG

Docker Machine

Docker Toolbox の肝はDocker Machine を起動させて、windows や mac でdockerコマンドを使えるようにするということです。
で、Docker Machineというのは、Dockerを使えるようにするための仮想環境を立ち上げ、その環境を通してdockerを使えるようにするものです。
この際立ち上がっている仮想マシンは boot2docker というdocker を動かすためのディストリビューションだそうです

「Docker Quickstart Terminal」で起動したターミナル上では、起動したDocker Machineの作成時の状態を以下のコマンドで確認できます

docker-machine inspect

ここでMemory のサイズを見ると、

"Memory": 1024,

で、普通だったらこれでも十分なのですが、
機械学習のようなメモリをバカ食いするような処理では、
静かにkill される可能性があります

メモリを増やす

docker コンテナに任意のメモリを割り当てる方法は、runするときに以下のオプションをつければいいです

docker run -m 1024m hoge /bin/bash

しかし、コンテナに割り当てるメモリを増やすには、そもそも仮想マシンに割り当てたメモリを増やす必要があります

で、メモリの増やし方なのですが、とても原始的な手段に走りました

docker-machineが使用している仮想環境は、VirturalBox 上に存在します
というわけで、まずいったんマシンを止めます

docker-machine stop

次にVirturalBoxの管理画面を開きます
今まで入れたことがなくても、Docker Toolbox 入れたら勝手に入っています

WS000001.JPG

すると、「default」という名前の仮想イメージがあるので、こいつを選択した状態で設定アイコンを押してやります

WS000002.JPG

設定画面でシステムを選択し、メモリスライダを好きなように動かしてやり、OKを押します

以上で設定が終わったので、起動します
私は不安だったので、再度「Docker Quickstart Terminal」起動させました

確認する

最後に確認しましょう
ターミナルの軌道が完了したら、適当なコンテナに任意のメモリをくっつけて起動させてみます

docker run -it --rm -m 8g hoge /bin/bash

で、freeで確認すると

root@82880b1c54d8:/# free
             total       used       free     shared    buffers     cached
Mem:       8168428     220220    7948208     132696       8796     137844
-/+ buffers/cache:      73580    8094848
Swap:      2986560          0    2986560

こんな感じでメモリが8GBに増やせました

まとめ

気が付いたら、ただの VirturalBox のメモリ割り当ての解説になっていたでござるの巻
Docker Toolboxがどういう設定しているかはわかりにくいけど、やっていることは仮想マシン動かして、
そのうえでDocker動かしているだけなんで、それほどブラックボックスな感じはせんですな

参考

https://docs.docker.com/machine/overview/
http://qiita.com/spesnova/items/073dd64a8a1d580d9ae9

38
30
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
38
30

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?