dockerの場所を移動した話

dockerの場所を移動した

dockerはデフォルトで /var/lib/docker にインストールされる.
しかし,様々な理由で(システム用の容量が少ないなど),ここのデータ容量が足りなかったので,別ストレージに移した.
色々な方法がネットに散らばっているが,下のサイトで紹介されているやり方が一番簡単で分かりやすかった.

How to move docker data directory to another location on Ubuntu - guguweb.com

手順

① dockerデーモンを止める

sudo service docker stop

/etc/docker にある daemon.json に以下の内容を追記

{ 
   "graph": "/path/to/your/docker"  
}

自分の場合は,もとからruntimeの設定があったので,

{
    "graph": "/srv/docker",
    "runtimes": {
        "nvidia": {
            "path": "nvidia-container-runtime",
            "runtimeArgs": []
        }
    }
}

③ データを移動

sudo rsync -aP /var/lib/docker/ /path/to/your/docker

④ 古いディレクトリを一旦リネーム

sudo mv /var/lib/docker /var/lib/docker.old

⑤ dockerデーモンを起動

sudo service docker start

⑥ 確認 docker run hello-world とか色々回してみて問題無さそうだったら,古いdockerファイルを削除

sudo rm -rd /var/lib/docker.old/