[Docker] Docker データ保存場所の変更

Docker の関連データの保存場所を変更する方法

環境&対象

以下の環境で動作確認を行なっています。

  • Ubuntu 18.04 LTS Server
  • docker 20.10.8

Docker の関連データ保存場所

Docker を使い始めると、当たり前ですが、Volume や Image が作成されます。

Image は、外部から取得してきたり、自分で作成していても作成方法をバックアップ対象にしているので、壊れてもあまりインパクトは大きくないです。

ですが、Volume として作成されたデータは、バックアップ対象としつつ、RAID 等で保護された場所におきたいと考えました。

自環境では インストールした Docker のデフォルトでのデータ保存場所は、/var/lib/docker でした。(Linux 系ではこのディレクトリがデフォルトです)

このような Docker で使用されるデータの保存場所を移動させる方法を説明します。

Docker の関連データ保存場所を移動する方法

Docker の設定ファイル

Docker のドキュメントでは、この辺りです。

Ubuntsu は、Linux 系なので、/etc/docker/daemon.json が必要となります。

自環境では、存在していなかったので 自分で作る必要がありました。

ファイル名からもわかりますが、JSON フォーマットで記述します。

Docker 設定ファイルでの データ保存場所指定

データ保存場所を指定するキーは、data-root です。

例えば、/mnt/Disk1/dockerData に保存するように指定するためには、以下のように記述します。

{
  "data-root": "/mnt/Disk1/dockerData"
}

設定の反映

設定は、Docker デーモンを再起動しないと反映されません。

動作中に変更するのは危ない気がするので、一旦停止してから、設定ファイルを変更し、再スタートさせるのが良いです。


// 停止
% sudo service docker stop

% vi .... // json ファイルをエディット

// 開始
% sudo service docker start

まとめ:Docker データ保存場所の変更

Docker データ保存場所の変更
  • Linux 系では、/etc/docker/daemon.json に記述する(なければ作る)
  • JSON フォーマットで記述する
  • キーは、data-root とし、値を データディレクトリへのパスにする
  • docker デーモンを止めてから変更する

説明は以上です。
不明な点やおかしな点ありましたら、こちらまで。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です