+++ date = "2023-08-30" tags = ["docker"] title = "dockerの/var/lib/dockerを外付けhddに移動する" slug = "docker" +++ 検索しても適切な方法が見つからなかったので手順を記録します。 これをそのままcp, rsync, mvしても、そのファイルは使えません。 > failed: Operation not permitted これは`format:ext4`が関係しているかもしれません。 しかし、基本的には、論理ボリュームを作成、mountした上でrsyncします。 ```sh $ sudo systemctl stop docker.service # 論理ボリュームの作成 $ sudo vgcreate docker /dev/sdb1 $ sudo vgs $ sudo lvcreate -L 600G -n docker docker $ sudo vgs -o +lv_size,lv_name $ sudo mkfs.ext4 /dev/docker/docker # 論理ボリュームのmount $ mkdir -p ~/mnt/tmp $ sudo mount /dev/docker/docker ~/mnt/tmp/ # ファイルの移行 $ sudo rsync -avx /var/lib/docker/ ~/mnt/tmp ``` ```sh # backup $ sudo mv /var/lib/docker /var/lib/docker.back # /var/lib/docker $ sudo mkdir /var/lib/docker $ sudo chmod 710 /var/lib/docker $ sudo mount /dev/docker/docker /var/lib/docker ``` ```sh # umount $ sudo umount ~/mnt/tmp $ sudo rm -rf ~/mnt/tmp ``` ```sh # auto-mount $ sudo fdisk -l $ sudo blkid | grep sdb1 UUID=$uuid $ sudo vim /etc/fstab /dev/docker/docker /var/lib/docker ext4 defaults 0 0 ``` dockerは肥大化しやすいのに罠すぎる。