不具合があったので、docker-ce 5:19.03.6~3-0~ubuntu-xenial にダウングレードしていたのだが、
最新版( docker-ce 5:19.03.9~3-0~ubuntu-xenial )が出たので入れてみた。
そしたらapt upgrade でコケる。結構めずらしい。
sudo dpkg --audit
で docker-ce がトラブってることを確認したのだが、すでに docker がインストールされていて /var/lib/docker が、xfs で使われていることが原因っぽい。
でも、消して作り直したくはないので、
/lib/systemd/system/docker.service
に、ストレージドライバのオプション( --storage-driver=overlay2 )を明示的に追加したら修正インストール( dpkg --configure docker-ce )がうまくいった。
docker は動くようになったのに vastai 関連は正しく動かないのでログを見たりいろいろ試したりしてたが、( --runtime nvidia )オプションなんて知らんって言われてて、あれ?って思った。
docker: Error response from daemon: Unknown runtime specified nvidia.
原因はたぶん nvidia-docker2 がなくなったこと。互換性のために残されているので明示的にインストールすれば古いのスクリプトも動くようになるはず。
docker run --gpus all nvidia/cuda:10.0-base nvidia-smi # 動く docker run --runtime nvidia nvidia/cuda:10.0-base nvidia-smi # 古いオプション nvidia-docker2 を入れないと動かない nvidia-docker run nvidia/cuda:10.0-base nvidia-smi # 古いコマンド nvidia-docker2 を入れないと動かない
(おまけ)
Ubuntu16.04 用の nvidia-smi の deb は壊れているので、18.04 を強制インストールして使ってくれとのこと。笑った。
forums.developer.nvidia.com
(追記 2020.5.29)
Ubuntu 16.04 LTS Server をクリーンインストールしてアプリを入れていってみたら特に問題なく動いた。アップグレードは注意ってことかな。
(追記 2020.5.31)
docker-ce 5:19.03.10 はアップグレードでも問題ありませんでした。結局、docker-ce 5:19.03.9がバグだらけだったってことで。