WSLで動くDockerのストレージサイズを変える
WSLで動くDockerでTrinityを動かしたい
Trinityについては過去記事を参照
mecobalamin.hatenablog.com
Ubuntuのイメージを実行して
足りないコマンドをインストールして
Trinityを動かせたがストレージサイズが足りなくて途中で止まった
そこでWSLで動くDockerのストレージサイズを変更する
実際にはストレージサイズの大きなVirtual Machineを新しく作った
Docker tool boxを利用してWSLでDockerを使えるようにした
mecobalamin.hatenablog.com]
Docker tool boxをインストールすると
ストレージサイズが20GBのVirtual Machineが作られる
このストレージのサイズを変更できないか調べてみたが
どうもできないらしい
自動で作られるストレージの実体は
VMDKという拡張子のつくファイルで
この種類の仮想ハードディスクはサイズの変更ができない
そこでWSLからDocker-machine.exeを使って
ストレージサイズの大きなVirtual Machineを作成する
virtual machineを停止した状態で
以下のコマンドをWSLで実行する
docker-machine.exe create --driver virtualbox --virtualbox-disk-size "120000" --virtualbox-memory "16384" ubuntu
virtualbox-disk-sizeで仮想ハードディスクのサイズ
virtualbox-memoryでVirtual Machineのメモリのサイズを指定する
最後のubuntuは新しいvirtual machineの名前になる
ちなみにvirtual machineの停止は
docker-machine.exe stop
virtual machineが作成されたら
docker-machine.exe configを使って
ホストのアドレスと
ファイルのあるディレクトリを
$HOME/.profileに記入する
作成したvirtual machineのubuntuが動いているときに
docker-machine.exe configを実行すると
以下のパラメータが表示される
$ docker-machine.exe config ubuntu --tlsverify --tlscacert="C:\\Users\\hogehoge\\.docker\\machine\\machines\\ubuntu\\ca.pem" --tlscert="C:\\Users\\hogehoge\\.docker\\machine\\machines\\ubuntu\\cert.pem" --tlskey="C:\\Users\\hogehoge\\.docker\\machine\\machines\\ubuntu\\key.pem" -H=tcp://192.168.99.104:2376
hogehogeはwindowsにログインしているユーザー名
このうち
C:\\Users~\\ubuntu
と
tcp://192.168.99.104:2376
を$HOME/.profileに記入する
export DOCKER_HOST="tcp://192.168.99.104:2376" export DOCKER_CERT_PATH=/c/Users/hogehoge/.docker/machine/machines/ubuntu/ export DOCKER_TLS_VERIFY=1
記入が終わったら
$ source ~/.profile
を実行して読み直す
これでvirtual machineを実行できる
$ docker-machine.exe start ubuntu
virtual machineの名前は必要
つけないとdefaultのvirtual machineが実行される
いまのところ新しく作ったviertual machineは
docker-machine.exe envとdocker-machine.exe activeでは
確認できていない
このvirtual machineに
ubuntuのimageをダウンロードするなり
これまで作ったimageをloadするなりして
環境をつくれる