Introduction

2018/05/01 更新 NTFSのパーティションを置き場所として指定しましたが、dockerではNTFSは未サポートとのこと。
詳細は、how to solve it? docker: error creating overlay mount to invalid argument #23930

備忘録。
USBメモリに格納したUbuntuでdockerを動かしているが、dockerは何かとディスクの容量を食うのと、書き込みが多いとUSBの耐久性が心配なので、イメージの場所を変えてみることにした。

How to?

もぉそのままズバリな記事を書いてくださっている方が。ありがとうございます。

要するに、**/lib/systemd/system/docker.service**の中身を変更しなさい、ってことでした。
上の先人様は、docker.serviceを今後は編集したくない、ということで環境変数経由で設定を変更するという目から鱗な方法で対応されています。
私もそれを真似ます。

docker.service の修正

1
$ sudo vi /lib/systemd/system/docker.service

編集前

1
ExecStart=/usr/bin/dockerd -H fd://

編集後

1
2
3
#ExecStart=/usr/bin/dockerd -H fd://
EnvironmentFile=/opt/config/docker
ExecStart=/usr/bin/dockerd $OPTIONS

/opt/config/docker の作成

1
2
$ sudo mkdir /opt/config
$ sudo vi /opt/config/docker

追加

1
OPTIONS="-H fd:// -g /home/XXXXX/media/hdd/windows/VirtualMachines/docker/Ubuntu/"

編集の反映と確認

1
2
3
4
5
6
7
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker

$ ps -ef | grep docker
root 3593 1 4 21:37 ? 00:01:07 /usr/bin/dockerd -H fd:// -g /home/XXXXX/media/hdd/windows/VirtualMachines/docker/Ubuntu/
root 3622 3593 0 21:37 ? 00:00:02 docker-containerd --config /var/run/docker/containerd/containerd.toml
takuya 4018 3865 0 21:59 pts/1 00:00:00 grep --color=auto docker