DockerでZFSストレージドライバを使う
参考: Use the ZFS storage driver | Docker Documentation
/var/lib/docker
を /var/lib/docker.bak
にリネームして /var/lib/docker
を作り直しパーミションを合わせます。
sudo mv /var/lib/docker{,.bak}
sudo mkdir /var/lib/docker
sudo 711 /var/lib/docker
以下では tank1
というボリュームが既にある想定で tank1/docker
ボリュームを新規作成し /var/lib/docker
にマウントポイントを設定します。
sudo zfs create tank1/docker
sudo zfs set mountpoint=/var/lib/docker tank1/docker
/var/lib/docker.bak
の内容を /var/lib/docker
にコピーします。
sudo tar cf - . -C /var/lib/docker.bak | sudo tar xf - -C /var/lib/docker
以下のコマンドを実行して /etc/docker/daemon.json
を作成します。既にこのファイルがある場合は "storage-driver": "zfs",
を適宜追加してください。
cat <<'EOF' | sudo tee /etc/docker/daemon.json > /dev/null
{
"storage-driver": "zfs"
}
EOF
docker サービスを再起動します。
sudo systemctl restart docker
動作確認して問題なければ /var/lib/docker.bak
を消します。
sudo rm -rf /var/lib/docker.bak