ozawaのブログ

本ブログは、PC関連について投稿します

Dockerの容量を上げるときのメモ

はじめに

どうもこんにちは。
今回の内容は、「Dockerの容量をあげる時について」です。

この内容を記事にする理由は、久々にDockerの容量を上げることがあり、色々ハマったため手順をまとめることにしたためです

ちなみに作業環境はArch linuxで、Systemdを使っているためコマンド等の違いがあるので注意。

あと、色々な設定等についてはここを参照してください。
Docker ドキュメント日本語化プロジェクト

手順

作業の前に、現在のイメージファイル等は作業中に削除されてしまうため、docker saveでファイルにしておきます。

% docker save 保存するイメージファイル名 >> 保存する時のファイル名

まず、稼働中のdocker.serviceを停止させます。
その後に、それまで使っていたイメージファイル等が入っているディレクトリを削除します。(デフォルトでは/var/lib/docker)
この作業でイメージファイルや起動中のコンテナなどが消えるので注意が必要。

% sudo systemctl stop docker.service  
% sudo rm -R /var/lib/docker  

その後で、/etc/systemd/systemにdocker.service.dがなければ作成します。
systemctl editを使うと編集画面になり、編集後は自動でdocker.service.dと編集したファイルがその中に保存されます。

% sudo systemctl edit docker.service

自分は以下のように編集しました。
dm.basesizeが起動中のコンテナの容量の上限です。
また、自分はDockerのイメージファイル等が入るディレクトリの場所を変更しました。

#/etc/systemd/system/docker.service.d/test.conf

[Service]
ExecStart=
ExecStart=/usr/bin/docker daemon -g /home/docker --storage-opt dm.basesize=50G

ここで、空の"ExecStart="を書かないとエラーになるので注意。
編集後は、/etc/systemd/system/docker.service.d/[変更後のファイル名].confがあるか確認をして、daemon-reloadをします。
その後で、docker.serviceを起動して、容量が増えているか確認。

% sudo systemctl daemon-reload
$ sudo systemctl start docker.service
$ sudo docker info

以上で容量を上げることができました。