0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Docker on NILFS2 filesystem (for raspbianOS)

Last updated at Posted at 2020-12-29

#結論

  • DockerをNILFS2 filesystem上で使う場合、storage driverを "devicemapper"に設定せよ。
/etc/docker/daemon.json
{
  "storage-driver": "devicemapper"
}

背景

Raspberry PI3bを常用する際に一番怖いのはSDカードがある日突然壊れること。
そこで/(rootfs) をNILFS化したのだが、dockerがうまく動かなかったのでメモしておく。

当方環境

32GBのmicro SDカードのみで運用。/dev/mmcblk0p2をNILFS2にしてます。

pi@raspberrypi:~ $ uname -a
Linux raspberrypi 5.4.79-v7+ #1373 SMP Mon Nov 23 13:22:33 GMT 2020 armv7l GNU/Linux
pi@raspberrypi:~ $ df -hT
ファイルシス   タイプ   サイズ  使用  残り 使用% マウント位置
udev           devtmpfs   424M     0  424M    0% /dev
tmpfs          tmpfs       93M  8.7M   84M   10% /run
/dev/mmcblk0p2 nilfs2      30G   19G  9.6G   66% /
tmpfs          tmpfs      463M  4.0K  463M    1% /dev/shm
tmpfs          tmpfs      5.0M  4.0K  5.0M    1% /run/lock
tmpfs          tmpfs      463M     0  463M    0% /sys/fs/cgroup
/dev/mmcblk0p1 vfat       253M   68M  185M   27% /boot
tmpfs          tmpfs       93M  4.0K   93M    1% /run/user/1000
pi@raspberrypi:~ $ docker version
Client:
 Version:           18.09.1
 API version:       1.39
 Go version:        go1.11.6
 Git commit:        4c52b90
 Built:             Fri, 13 Sep 2019 10:45:43 +0100
 OS/Arch:           linux/arm
 Experimental:      false

Server:
 Engine:
  Version:          18.09.1
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.11.6
  Git commit:       4c52b90
  Built:            Fri Sep 13 09:45:43 2019
  OS/Arch:          linux/arm
  Experimental:     false

お試しした storage driver

  • overlay2 (default) ... △ (hello-world, busyboxは動く。だがubuntuとか大きめの(複数レイヤがある)イメージはpullできない。
  • overlay ... × (permission deniedと言われて全く動かない)
  • vfs ... ○、だが、パフォーマンスが最悪。
  • devicemapper ... ◎。問題なく動いているようだ。

devicemapperてどうやって動いてるの?

見た目巨大なsparseファイルを予め作成して、それを切り出して使っているようだ。
32GBしかないSDカード上に100Gのファイルがあるのを見るのは新鮮だ。w

root@raspberrypi:/var/lib/docker# ls -lh devicemapper/devicemapper/data 
-rw------- 1 root root 100G 12月 29 08:34 devicemapper/devicemapper/data

残項目

  • Raspbian OSの rootをNILFS化する手順をメモ化。(案外いろんなところでハマりました)
0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?