nvidia-docker2にしたらnvidia-docker-composeが使えなくなった
自分用のメモです
docker環境を更新したら、
https://github.com/eywalker/nvidia-docker-compose/issues/22
これと同じように、
urllib.error.URLError: <urlopen error [Errno 111] Connection refused>
とか言われちゃった人に
nvidia-docker2の更新が大分前なので今更感がありますが、自分が詰まったのでメモとして残します
tl;dr
nvidia-docker-composeは使わない
docker-composeのデフォルトランタイムを以下のようにして変更して使う
{
"default-runtime": "nvidia",
"runtimes": {
"nvidia": {
"path": "/usr/bin/nvidia-container-runtime",
"runtimeArgs": [ ]
}
}
}
参考: https://github.com/eywalker/nvidia-docker-compose/issues/23
症状
nvidia-docker-composeを使用したところ、
urllib.error.URLError: <urlopen error [Errno 111] Connection refused>
と言われる。
docker、nvidia-docker、docker-compose、nvidia-docker-composeの再インストールやアップデートを試してみてもきちんと改善されない。
nvidia-docker run --rm nvidia/cuda nvidia-smi
はきちんと起動する。
原因
原因はnvidia-docker2になって、nvidia-docker-pulgin( https://github.com/NVIDIA/nvidia-docker/wiki/nvidia-docker-plugin )が削除された(?)こと。これにより起動しているはずのdocker daemonにアクセスすることができなくなっていた。
nvidia-dockerではこれまでlocalhost:3476にデーモンが走っているはずだった。cudaがインストールされていない環境でも一切の変更なしにコンテナが立ち上がるために大きな実装の変更があったようだ
対策
実はnvidia-docker-composeのページ( https://github.com/eywalker/nvidia-docker-compose )にすべて記載されている。nvidia-docker-composeはもう必要なくなり、docker-composeのデフォルトのランタイムを変更してしまえばいいようだ( https://github.com/eywalker/nvidia-docker-compose/issues/23 )。
その他
初投稿です。
Author And Source
この問題について(nvidia-docker2にしたらnvidia-docker-composeが使えなくなった), 我々は、より多くの情報をここで見つけました https://qiita.com/xi_xi_11/items/9d7d75f31671178f1e57著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .