KUSONEKOの見る世界

DockerのイメージをSSDに移動してみた

以前、MySQLのデータをTrim非対応のいつ壊れるか分からないSSDに移動させました。

あれから5か月ほど経ちますが、全く壊れる様子もプチフリを感じることもありません。(サーバだからプチフリしても気づかないのでしょうけど)

今回はDockerのイメージファイルも移動させ、更にHDDの負荷を下げていきます。

Dockerイメージのディレクトリ変更方法 

以下のサイト様を参考にしています。

今回はこちらの情報の通り、systemdでオプションを指定する方法で実施します。
Docker の systemd ファイルが更新される度に変更する必要があるため、/etc/docker/daemon.json を作成して記載した方がいいかもしれません。

Dockerイメージファイルを移動 

SSDは/var/ssdにマウントしていますので、そこの直下にdockerディレクトリを移動させます。

Dockerのサービスを停止。

# systemctl stop docker

現在のイメージファイルをSSDのディレクトリにコピー。

# cp -a /var/lib/docker/ /var/ssd/

systemdのオプションでディレクトリを指定する。

# vi /lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
↓
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --data-root /var/ssd/docker

Dockerを起動。

# systemctl daemon-reload
# systemctl start docker

これで、移動が完了しました。

LinuxでもSSDは問題なく使えるようなので、今度OSを再インストールする際は、/home以外をSSDにしてみたいと思います。
CentOS Stream 9 か AlmaLinux 9 を時間と新品のSSDが手に入ったらそのうち…。

追記

やはり、Dockerのアップデートでsystemdのファイルが更新され、オプションが無くなってしまいました。
以下の通り、設定ファイルを作成しました。

# vi /etc/docker/daemon.json
{
  "data-root": "/var/ssd/docker"
}