LoginSignup
1
1

More than 3 years have passed since last update.

今更 windows7でDockerでCドライブ以外にvirtualbox作ってフォルダもCドライブ以外を共有したい

Last updated at Posted at 2020-01-28

はじめに

うちのPC、Cドライブのリソースがほぼないので、インストール系やファイルはすべて他のドライブ(Zドライブ)に突っ込んでいます
Dockerつくるときに、Cドライブがデフォルトになっていて困ったのでメモ書き

CドライブではないZドライブに入れる

(Zは適宜、自分の環境に読み替えてね)

VirtualBoxのデータを保存するフォルダ指定・・・①

setx MACHINE_STORAGE_PATH "Z:\VirtualBox VMs"

環境変数を設定しておくことで自分の好きな場所にVirtualBoxのデータを生成できる。

Zドライブに共有用フォルダを作成

> cd /d z:\
> mkdir Users

※自分は、ほぼCドライブのUsersフォルダをZドライブに指定しているのですでに作成済み。

マシン作るときに共有フォルダを予めZドライブに指定してvirtualbox作成

マシン名:default

> docker-machine create default --driver=virtualbox ^
--virtualbox-share-folder "z:\Users:/z/Users" ^
--virtualbox-hostonly-cidr "192.168.99.1/24"

初回実行時に①のフォルダ内に以下のフォルダが作られる

  • cache (ディスクキャッシュ)
  • certs (鍵)
  • machines (ディスク)

共有フォルダの設定が書かれているか確認

秀丸とかvs codeとか適当なエディタで以下を開く
Z:\VirtualBox VMs\machines\default\config.json

下のほうにある共有フォルダのパスが正しいか確認

config.json
    "ShareFolder": "z:\\Users:/z/Users"

実際にDockerマシンから共有ファイルが見えているか確認

(Z:\Users フォルダ内に何もファイルがなければ何か適当にファイル作ってtest.txtとか)

SSH接続

> docker-machine ssh default
> ls -la /z/Users/

ホスト側のファイルが見えていればOK

Docker起動時にマウント

カレントフォルダ Z:\Users

Z:\Users\docker-compose.yml
Z:\Users\init.d
Z:\Users\init.d\xxx.sql (※たくさんSQLファイルある)

みたいな構成

docker-compose.yml
volumes:
    - ./init.d:/docker-entrypoint-initdb.d

※MYSQLのdocker-compose.ymlのサンプルは調べればたくさん出るので割愛
※MYSQLで初回起動時にSQLを走らせたいときにマウントしていれば
 フォルダ内にある.sqlファイルをアルファベット順に自動実行してくれるので便利!

初回起動
docker-compose up
※通常利用時は -d でバックグラウンド起動するけど
 初回は -d 付けないでログとか、コマンドの確認をちゃんとした方がいいと思う

ちなみに、、、

最終、Docker周りの環境変数はこんな感じになってた

DOCKER_CERT_PATH=Z:\VirtualBox VMs\machines\default
DOCKER_HOST=tcp://192.168.99.100:2376
DOCKER_MACHINE_NAME=default
DOCKER_TLS_VERIFY=1
DOCKER_TOOLBOX_INSTALL_PATH=Z:\Application\Docker Toolbox
NO_PROXY=192.168.99.100
Path=(略)Z:\Application\Docker Toolbox
VBOX_MSI_INSTALL_PATH=Z:\Application\VirtualBox\
1
1
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
1
1