Dockerの保存場所を変更する正攻法

公式のドキュメントのように起動オプションをserviceファイルの設定を上書きする形で設定するなら以下。

各システムの Docker 設定と実行 — Docker-docs-ja 1.13.RC ドキュメント

古いバージョン1.0未満の場合は/var/lib/docker/*に含まれていたみたい。

[tkoyama@LC-KVM docker]$ sudo ls
containers  devicemapper  image  network  swarm  tmp  trust  volumes  xaa

今回のバージョンを確認する.

[tkoyama@LC-KVM docker]$ docker -v
Docker version 1.12.6, build 1398f24/1.12.6

systemdのserviceファイル/usr/lib/systemd/systemを読んでいたら気になる記述を発見した。

[tkoyama@LC-KVM docker]$ cat /usr/lib/systemd/system/docker.service
<< 略 >>
[Service]
Type=notify
NotifyAccess=all
<< 略 >>
ExecStart=/usr/bin/dockerd-current \
          --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current \
          --default-runtime=docker-runc \
          --exec-opt native.cgroupdriver=systemd \
          --userland-proxy-path=/usr/libexec/docker/docker-proxy-current \
          $OPTIONS \
          $DOCKER_STORAGE_OPTIONS \
          $DOCKER_NETWORK_OPTIONS \
          $ADD_REGISTRY \
          $BLOCK_REGISTRY \
          $INSECURE_REGISTRY

変数があるらしく、これを設定すればストレージの保存先の変更もできるよう。調べてみると見つかった。

docker個人的メモ - Qiita

sudo vim /etc/sysconfig/docker-storage

https://docs.docker.com/engine/reference/commandline/dockerd/#storage-driver-options


Dockerの保存先を変更

Dockerイメージの格納先変更 - Qiita

systemdのserviceファイルは /lib/systemd/system/docker.service にある。

今回はこれを直接書き換えたくないので/etc/systemd/system/docker.service.d/内にファイルを置いて読ませることで設定を書き換える。

[Service]
OPTIONS="-H fd:// -g /rhdd/docker"

何かのエラー

★★解決策

dockerで、pathの場所を、/var/lib/dockerから/mnt/foobar/に変更する方法 (Fedora版) - Qiita