結論
/がtmpfs(RAMディスク)なので、再起動すると消える
概要
docker-machine upgradeするときの注意点 vagrant と busybox を使用している場合 - Qiita
上の記事を書いた時に、docker-machine upgrade したあとに、/home以下などが消えたように思ったので、調べてみた。
/home/docker 以下や、/usr/local/bin の下などが消えたが、作成したコンテナが残っていたので、何が消えるのか気になった。
確認
docker-machine create で仮想マシンから作る
以下のコマンドで仮想マシンを作成
docker-machine create -d virtualbox disktestremove
実際のログ
$ docker-machine create -d virtualbox disktestremove
Running pre-create checks...
Creating machine...
Waiting for machine to be running, this may take a few minutes...
Machine is running, waiting for SSH to be available...
Detecting operating system of created instance...
Provisioning created instance...
Copying certs to the local machine directory...
Copying certs to the remote machine...
Setting Docker configuration on the remote daemon...
To see how to connect Docker to this machine, run: docker-machine env disktestremove
docker-machine stop start
作成後sshしてみた
docker-machine ssh disktestremove
適当なファイルを、/home/docker以下に作る
docker@disktestremove:~$ touch create.txt
docker@disktestremove:~$ ls -l
total 4
-rw-r--r-- 1 docker staff 0 Jan 8 03:30 create.txt
-rw-r--r-- 1 docker staff 69 Jan 8 03:28 log.log
docker@disktestremove:~$
exitでぬけたあと、
docker-machine で stop start してみる。
docker-machine stop disktestremove
docker-machine start disktestremove
ファイルがない
docker@disktestremove:~$ ls -l
total 0
マシンの中から再起動
ファイルを作る
docker@disktestremove:~$ touch sudoreboot.txt
docker@disktestremove:~$ ls -l
total 0
-rw-r--r-- 1 docker staff 0 Jan 8 03:33 sudoreboot.txt
再起動
ファイルがない
docker@disktestremove:~$ ls -l
total 0
ファイルシステムを確認
/ 以下がどのようなファイルシステムか確認する。
tmpfs であることがわかる。
docker@disktestremove:~$ df -h
Filesystem Size Used Available Use% Mounted on
tmpfs 896.6M 123.8M 772.8M 14% /
tmpfs 498.1M 0 498.1M 0% /dev/shm
/dev/sda1 18.2G 44.5M 17.2G 0% /mnt/sda1
cgroup 498.1M 0 498.1M 0% /sys/fs/cgroup
/dev/sda1 18.2G 44.5M 17.2G 0% /mnt/sda1/var/lib/docker/aufs
tmpfs であることがわかる。
/etc/fstab を確認
/ のファイルシステムは、/etc/fstabに書かれているわけではないようだ。
カーネルのオプションとか、コンパイル時組み込まれているのかは調べていない。
docker@disktestremove:~$ cat /etc/fstab
# /etc/fstab
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
devpts /dev/pts devpts defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
/dev/zram0 swap swap defaults,noauto 0 0
/dev/sda1 /mnt/sda1 ext4 noauto,users,exec 0 0 # Added by TC
/dev/sda2 none swap defaults 0 0 # Added by TC
/dev/sr0 /mnt/sr0 auto noauto,users,exec 0 0 # Added by TC