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
以上で容量を上げることができました。