夏ですね。響け!ユーフォニアムの事を考えて熱波をやり過ごしていますが人間限界があります。
Dockerに/varを圧縮され気がついたらもう200 MiBしか残っていない、そんな経験はありませんか。僕は/varを/とは別で切ってraiserfs載せているので頻繁に起きます。
docker.serviceを触って格納先を/以下の/opt/dockerに変更する方法がありますが、これではパッケージマネージャがdocker.serviceを更新する度にリセットされてしまいます。
qiita.com
systemctl stop docker.service
mkdir -p /opt/docker/
rm -R /var/lib/docker/
mkdir /etc/systemd/system/docker.service.d/
touch /etc/systemd/system/docker.service.d/override.conf
内容を移し替え、ファイルを作成し、次のように編集します。これでイメージとか全部消えるので注意。
[Service]
ExecStart=
ExecStart=/usr/bin/docker daemon -H fd:// -g /opt/docker
そして、
systemd daemon-reload
更新すれば終わりです。ExecStart=
が無いとdocker.service: Service has more than one ExecStart= setting, which is only allowed for Type=oneshot services. Refusing.
と言われます。
systemdにはドロップインファイルというユーザーが独自にserviceの一部を書き換えるための機能が提供されており、これはパッケージ管理システムの外にあるので恒久的な変更が可能です。
systemctl edit
を使ってもいいです。今まで知らなかった。