Dockerの勉強中に以下のメッセージが表示されました。
docker: failed to register layer: Error processing tar file(exit status 1): write /usr/bin/tty: no space left on device.
今回私の場合はAWSのEC2ですが、Linux系のOSなら同様だと思います。
出力メッセージからもなんとなくイメージできるかもしれませんが、容量の問題っぽい。
まずは状態を確認してみる。
df -h
・出力結果
Filesystem Size Used Avail Use% Mounted on
devtmpfs 483M 60K 483M 1% /dev
tmpfs 493M 0 493M 0% /dev/shm
/dev/xvda1 7.9G 7.8G 16K 100% /
出力結果から「/dev/xvda1」が明らかに容量いっぱいになっていることがわかる。
ただ、これだけではどこでそんなに容量がとられているのかわからないのでもう少し詳細に調べてみる。
ボリュームの順に出力する。
sudo du -x -h / | sort -r -h | head -40
・出力結果(抜粋)
7.7G /
5.6G /var
5.5G /var/lib/docker
5.5G /var/lib
5.1G /var/lib/docker/volumes
1.5G /usr
437M /home/ec2-user
ああ、Dockerがやばいと。。
5.1G /var/lib/docker/volumes
EC2でDockerの勉強をしていたのですがいろいろ操作を繰り返した結果でしょうか。
具体的な対応としては「Docker」の対応として行うので別途で。
基本的には不要なものを削除するか容量の拡張をするしかないのでしょう。私の場合は無料枠で使用しているので拡張は行わず削除する方向で検討します。
また同様のメッセージがinodeの方の問題で出力されることもあるようです。
df -i
・出力結果
Filesystem Inodes IUsed IFree IUse% Mounted on
devtmpfs 123487 434 123053 1% /dev
tmpfs 126143 1 126142 1% /dev/shm
/dev/xvda1 524288 50834 473454 10% /
私の場合はこちらの方は大丈夫そうです。
この辺が問題ない場合はちょっとなにが原因なのかわからないですね。
以上。これからDockerの方を調べて対応していきます。