プログラムを中心とした個人的なメモ用のブログです。 タイトルは迷走中。
内容の保証はできませんのであしからずご了承ください。

2022/04/08

Docker イメージの保存先を変更

event_note2022/04/07 15:11

ストレージの容量が少ない場合など、新たに SSD を接続し、そちらに Docker イメージを保存する方法です。

以下のページが参考になりました。

環境

  • Ubuntu 18.04

手順

Docker サービスの停止

$ sudo service docker stop

既存データの退避

既存のデータは /var/lib/docker にあるので、これを外部ストレージに移動します。
SSD は /mnt/ssd にマウントしており、そこに docker というディレクトリを作成してデータを移動します。

$ sudo mkdir /mnt/ssd/docker
$ sudo rsync -aXS /var/lib/docker/. /mnt/ssd/docker/

設定変更

/etc/docker/daemon.json を開きます。

$ sudo nano /etc/docker/daemon.json

以下を記述して、保存先を /mnt/ssd/docker に設定します.

{
  "graph": "/mnt/ssd/docker"
}

設定の反映

$ sudo systemctl daemon-reload
$ sudo service docker start

動作確認

$ docker info | grep "Docker Root Dir"
Docker Root Dir: /mnt/ssd/docker

古いデータを削除

/var/lib/docker を削除します。

$ sudo rm -rf /var/lib/docker

error creating overlay mount to というエラーが表示される

Docker コンテナを作成しようとした際に、error creating overlay mount to みたいなエラーが表示されました。
私の場合はファイルシステムが NTFS だったことが原因でした。
EXT4 でフォーマットすれば正常にできました。