概要
azure instance
などを用い、そこに docker
をインストール、
その環境に image
を pull
するなどしてテスト環境を作っていたときのこと。
docker pull でかなり大きめのイメージを引っ張り、
さらにそのバージョンがいくつか存在するとき、イメージ容量が /
パスを
圧迫していました。
そこで、 /
ではなく、アタッチされている /mnt
ディレクトリにイメージを保存したかった。
https://stackoverflow.com/a/50726177
このポストを実行することで実現できました。
環境
Docker version 20.10.3
及びubuntu18.04 のインスタンスを使用しています。
やり方
sudo systemctl stop docker
でdocker を一度落とします。
sudo vim /etc/docker/daemon.json
でこのファイルを編集します。(ない場合もあるのでこれで作ります。)
{
"data-root":"/mnt/myvolume/docker"
}
などとし、マウントされており容量が潤沢にあるパスを指定します。
フォルダはmkdir -p /mnt/muvolume/docker
などで作っておきます。
この状態で、
sudo systemctl start docker
を実行する。
ここで、stop からstart までの間隔が短いとエラーが起きる(起きた)ので、一定時間待ちます。
きちんとスタートできているのを確認したら、
ためしに docker pull
などをしてみて、
df -h
などできちんと /mnt
以下の容量に反映されていることを確認。