63 lines
1.3 KiB
Markdown
63 lines
1.3 KiB
Markdown
|
+++
|
||
|
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は肥大化しやすいのに罠すぎる。
|