Edited at

MacのDockerでphpの割当メモリを増やす

More than 3 years have passed since last update.


環境


  • Mac osx v10.9.5

  • Docker v1.10.1

  • docker-machine v0.6.0


動機

Dockerのphpコンテナ上で、そこそこの大きさのExcelファイルをphpスクリプト内でロードした際に、システムらしき何かに突如killされてしまった。どうもコンテナの割り当てられているメモリが枯渇したのが原因っぽかったのでメモリを増やしたい。

root@xxxx:/var/www/html# php ./read_m_tokui.php -f data/tokui.xlsx

Killed


Docker-Machineの割当メモリを増やす

VirtualBoxマネージャーを開いて設定をクリック。

スクリーンショット 2016-06-29 18.33.52.png

システムタブをクリックしてメインメモリを増やす。

スクリーンショット 2016-06-29 18.36.11.png


Docker-Machineとコンテナを起動

「-m <使用メモリ>」オプションを指定してコンテナを再度作り直す。

$ docker-machine start inspect

$ eval $(docker-machine env inspect)
$ docker start mroonga # DBとしてMroongaを使っているので最初に起動
$ # 一旦phpコンテナを削除して…
$ docker rm -f php
$ # phpコンテナの使用メモリを指定して起動
$ docker run -m 1024m -p 80:80 -p 443:443 -v $HOME/work/proj/inspect/php.ini:/etc/php5/apache2/php.ini -v $HOME/work/proj/inspect/php:/var/www/html --link mroonga:mroonga --name php -d eboraas/apache-php


メモリの割当が増えていることを確認

$ docker exec -ti php bash

root@xxxx:/# free -h
total used free shared buffers cached
Mem: 2.0G 840M 1.1G 169M 12M 222M
-/+ buffers/cache: 605M 1.4G
Swap: 1.4G 0B 1.4G


まとめ

基本的に参考にさせていただいたサイトとやっていることは同じです。突如phpが落ちるシチュエーションに遭遇した際の参考になれば…。


参考

http://qiita.com/niisan-tokyo/items/2d7d21aeb4e25f7a7bbe