FreeStyleWiki

Dockerのデータ保存場所変更

このエントリーをはてなブックマークに追加

[Docker,Linux]

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 は削除すればよい