発生している問題
●状況
Dockerにて強化学習環境を構築しています。
Dockerのディレクトリマウント機能を使用し、以下のようにホストPC(Ubuntu)とディレクトリを共有しています。
ホストPC ⇔ ゲストコンテナ
/tmp/data-volume/ ⇔ /datavolume/
通常ホストPCを再起動させるときは、当然、コンテナの動作を止めてからホストPCを再起動させます。
しかし先日、ハード要因(電源断)により、Dockerコンテナが起動・動作中にホストPCが落ちてしまいました。
やむなくホストPCを再起動させたところ、ホストPC側のディレクトリ「data-volume」がtmpディレクトリ内から跡形もなく消えてしまう
(当然コンテナ側からも見えなくなる)という問題が発生しました。
●わかっていること
この問題について現在分かっていることは以下の通りです。
1.電源断だけではなく、コンテナをdocker stopさせずにホストPCをrebootした場合も同様の現象が起こる。
2.再現性は現在のところ100%(10回程度試行)。docker stopを経ずにホストPCを終了させた場合必ず消えてしまう。
3.ほとんどの場合「data-volume」ディレクトリごと消えてしまうが、1回だけdata-volumeディレクトリの中身が消えてしまう(data-volumeディレクトリ自体は残っているが中身は空になってしまう)ケースも発生した。
●質問内容
この問題について、以下の通り質問したいです。
1.この動作はDockerの仕様でしょうか?
2.改善のためのDocker設定、Runコマンド使用法など考えられますでしょうか?
補足情報
●ハード
・CPU:Core i9 10900X
・M/B:ASUS WS X299 SAGE
・MEM:DDR4 16GB × 4 QuadCh
・SSD:WD Blue SN550 M.2 (1TB)
・VGA:Nvidia GeForceRTX2080Ti × 2
●使用ソフトバージョン等
・ホストOS:Ubuntu Linux 18.04.5LTS
・Docker使用コンテナイメージ:tensorflow/tensorflow:1.15.4-gpu-py3-jupyter
・使用Docker Run コマンド:
$docker run -v /tmp/data-volume:/datavolume -p 7777:8888 -it --runtime=nvidia --name nvdock_TF115 tensorflow/tensorflow:1.15.4-gpu-py3-jupyter bash
・Docker詳細:
NVIDIA Docker: 2.5.0
Client: Docker Engine - Community
Version: 20.10.1
API version: 1.41
Go version: go1.13.15
Git commit: 831ebea
Built: Tue Dec 15 04:34:59 2020
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.1
API version: 1.41 (minimum version 1.12)
Go version: go1.13.15
Git commit: f001486
Built: Tue Dec 15 04:32:40 2020
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.4.3
GitCommit: 269548fa27e0089a8b8278fc4fc781d7f65a939b
runc:
Version: 1.0.0-rc92
GitCommit: ff819c7e9184c13b7c2607fe6c30ae19403a7aff
docker-init:
Version: 0.19.0
GitCommit: de40ad0
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/12/23 09:17