Dockerのデータ保存場所変更
Dockerイメージの容量が大きいためLinux上で使っているディスクが圧迫されて困る。
他のディスクは容量が大きいので、デフォルトの保存場所を変えたい。
手順
データ整理
$ docker info | grep data Docker Root Dir: /mnt/docker-data $ sudo du -hs /mnt/ 103G /mnt/
この場所はプラットフォームやdocker engineのバージョンによって違いそう。103GBもある。
- まずは不要なデータを削除しよう。
// すべてのコンテナを停止 $ docker stop $(docker ps -a -q) // すべての停止したコンテナを削除 $ docker rm $(docker ps -a -q) $ sudo du -hs /mnt/ 98G /mnt/
あんまり減っていない
- イメージも削除する
// すべてのイメージを削除 $ docker rmi $(docker images -q) $ sudo du -hs /mnt/ 53G /mnt/
結構減った
データ移動
How to move docker data directory to another location on Ubuntu に従う
- dockerのデーモンを停止
$ sudo systemctl stop docker
- daemon.jsonを修正する
- "data-root": "/path/to/your/docker"
$ sudo vim /etc/docker/daemon.json
- rsyncでデータをコピーして、終わったらもとのディレクトリをリネームしておく(テストのため)
$ sudo rsync -aP /mnt/docker-data /path/to/your/docker $ sudo mv /mnt/docker-data /mnt/docker-data-backup
- dockerのデーモンを起動
$ sudo systemctl start docker
起動OKであれば /mnt/docker-data-backup は削除すればよい