しばらくdatalabを使っていたらブラウザからアクセスできなくなった。 対応するportにchromeからアクセスすると、このページは動作していません、という画面になる。
gcloud compute ssh hoge
でVMに直接入ることは可能だったのでいろいろ試してみるとこんな感じだった
$ docker ps Cannot connect to the Docker daemon. Is the docker daemon running on this host? $ df -h Filesystem Size Used Avail Use% Mounted on ... /dev/sda1 16G 16G 0.0G 100% /mnt/stateful_partition ...
daemonが起動していなくてストレージがいっぱい。
du -sh
で/mnt/stateful_partition以下を見ていくと以下のディレクトリがいっぱいだった
/mnt/stateful_partition/var/lib/docker
ちなみにこれより下はsudoをつけてもduではアクセスできなかった(lsはできる)
消えて困るデータはなかったのでひとまず上記のディレクトリをまるごと消してみる (永続的なデータはdatalab-pdにあるはずなので)
$ sudo rm -rf /mnt/stateful_partition/var/lib/docker
これで一度VMを再起動し、datalab connect hoge
してみると無事ブラウザからアクセスできた。
ということで、docker用のストレージがいっぱいになっていたために、dockerdが起動できなかったことが原因だった模様
ちなみにdatalabのgpuインスタンスを使っていて起動に時間がかかるため、以下のようにVM自体を削除せずに繰り返し使っていた。
- 使い始めに
datalab connect ~
で接続 - 使い終わったらCtrl-Cでプロセスkill
- VMをconsoleからstop
なのでこのような状態になったと考えられる
しばらく使ってからdocker ps -a
してみると、使い終わったコンテナが残っていた。
以下のように使用済みのコンテナを削除することで上記のパーティションの容量は空けられた。
$ docker ps -a | grep Exited | awk '{print $1}' | xargs docker rm