Cドライブが限界だ!
どうも、Cドライブが圧迫され過ぎて、現実逃避ぎみの今日この頃ですが、求めていた方法が!
⇩ 下記サイトに
docker-machine を使って Windows版VirtualBox 上に Docker のホストマシンを作成した場合、デフォルトで
C:\Users\<ユーザー名>\.docker\machine\machines\<マシン名> 以下に仮想ディスクファイル (.vmdk) が作られます。
別ドライブに移動させてみました。
・Windows + VirtualBox で構築した Docker ホストマシンのストレージを移動する - takaya030の備忘録
さっそく、ためしてガッテン!
仮想マシンの停止
docker-machine ls NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS default - virtualbox Running tcp://192.168.99.100:2376 v17.05.0-ce kusanagi-machine - virtualbox Stopped Unknown
止まってないや~ん!止めます。
docker-machine stop default
disk.vmdk の移動
今回は E ドライブに移動させます。
Msys2のbashを使ってるので、コマンドが若干異なってますが、
mkdir -p /E/docker/machine/machines/default cp /C/Users/Toshinobu/.docker/machine/machines/default/disk.vmdk /E/docker/machine/machines/default
.vbox ファイルの編集
C:¥Users¥Toshinobu¥.docker¥machine¥machines¥default¥default¥default.vbox に設定されている disk.vmdk ファイルのパスを変更します。
このファイルを、テキストエディターのAtomなどで開いて編集します。
編集する場所は、
<HardDisks> <HardDisk uuid="{d2089e37-10f1-4fbf-8209-220f35d94b94}" location="C:/Users/Toshinobu/.docker/machine/machines/default/disk.vmdk" format="VMDK" type="Normal"/> </HardDisks>
となっている部分を
<HardDisks> <HardDisk uuid="{d2089e37-10f1-4fbf-8209-220f35d94b94}" location="E:/docker/machine/machines/default/disk.vmdk" format="VMDK" type="Normal"/> </HardDisks>
とします。
C:¥Users¥Toshinobu¥.docker¥machine¥machines¥default¥disk.vmdk は削除します。
仮想マシンの起動
docker-machine start default Starting "default"... (default) Check network to re-create if needed... (default) Waiting for an IP... Machine "default" was started. Waiting for SSH to be available... Detecting the provisioner... Started machines may have new IP addresses. You may need to re-run the `docker-machine env` command.
『 docker-machine env 仮想マシン名 』
docker-machine env default Error checking TLS connection: Error checking and/or regenerating the certs: There was an error validating certificates for host "192.168.99.100:2376": dial tcp 192.168.99.100:2376: i/o timeout You can attempt to regenerate them using 'docker-machine regenerate-certs [name]'. Be advised that this will trigger a Docker daemon restart which might stop running containers.
『 docker-machine regenerate-certs 仮想マシン名 』
docker-machine regenerate-certs default Regenerate TLS machine certs? Warning: this is irreversible. (y/n): y Regenerating TLS certificates Waiting for SSH to be available... Detecting the provisioner... Copying certs to the local machine directory... Copying certs to the remote machine... Setting Docker configuration on the remote daemon...
『 docker-machine active 』
docker-machine active No active host found
『 eval $(docker-machine env default) 』
eval $(docker-machine env default)
『 docker-machine active 』
docker-machine active default
『 docker-machine ls 』
docker-machine ls NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS default * virtualbox Running tcp://192.168.99.100:2376 v17.05.0-ce kusanagi-machine - virtualbox Stopped Unknown
前回、作ったコンテナ(CentOS7.3)を起動して、Apache(httpd)が機能するか確認。
docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 76faef5f92c8 my_repository:httpd_test "sbin/init" 3 hours ago Exited (130) About an hour ago httpd 2a5a62b662b4 centos "/bin/bash" 6 hours ago Exited (0) 6 hours ago centos7
コンテナ(CentOS7.3)を起動
docker start httpd
ブラウザでコンテナ(CentOS7.3)のApache(httpd)にアクセス。
アクセスできました! 確認できたので、コンテナと仮想マシンを停止します。
docker stop httpd docker-machine stop default
Cドライブが青さを取り戻しました!『地球は青かった、もとい、Cドライブは青かった』ですね。
今回はこのへんで。