LoginSignup
0
0

bind mountで失敗する。

Posted at

bind mountがうまく実行できない。。

根本的な原因はわかりませんが、とりあえずメモします。

行った実験条件は一番下に記載しました。
PC Cで問題が発生します。

エラーログ

docker runを実行すると下記のようなエラーが発生します。

(base) manyou@manyou:~/001_CODE/101/eval$ ./internal/docker_run.sh
docker run --shm-size=8G --net=host -e DISPLAY= -e TZ=Asia/Tokyo -v /tmp/.x11-unix:/tmp/.x11-unix -v /etc/passwd:/etc/passwd:ro -v /home/manyou/.Xauthority://home/manyou/.Xauthority -v COCO:/workspace/data/coco -v PASCAL:/workspace/data/pascal -v pascal_coco_format:/workspace/data/pascal_coco_format -v IMAGENET:/workspace/data/imagenet -v a2d2_18cls:/workspace/data/a2d2_18cls -v /home/manyou/001_CODE/101/eval/internal/..:/workspace -u 1001:1001 -w /workspace -it --rm cnn-eval:manyou bash -c 'bash ./internal/setup.sh develop; bash'
docker: Error response from daemon: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error mounting "/etc/passwd" to rootfs at "/etc/passwd": mount /etc/passwd:/etc/passwd (via /proc/self/fd/7), flags: 0x5001: no such file or directory: unknown.

エラー発生は下記のbind mountです

docker run ... -v /etc/passwd:/etc/passwd:ro ...

同じスクリプトを他のPCで動作させるとエラーなく実行できます。
そのため、PCの環境に原因があると考えました。

環境をチェックして気づいた事

  • なぜか、ユーザーグループが無く、もちろんユーザーグループへ所属もしていない。なぜそうなったのかはわからないです。。。

bind mount失敗環境でのidコマンドの実行結果

uid=1001(manyou) groups=27(sudo),1003(docker)

bind mount成功環境でのidコマンドの実行結果

uid=1001(manyou) gid=1001(manyou) groups=1001(manyou),27(sudo),1003(docker)

行ったら改善したこと

  1. ユーザーグループの作成
  2. ユーザーグループへユーザーを追加
  3. dockerをapt upgrade

1,2,で解決すると思ったけど、エラー解消されず。。
dockerのコマンドをアップデートしたら何故かエラー解消。

dockerのコマンドは成功環境A-1でもエラーなく実施できていたバージョン(20.10.21)だったため、バージョンが問題ではないはず。

条件 A-1 B-1 C-1 C-2 C-3
PC name A B C C C
User名のGroup 有り 有り 無し 有り 有り
ubuntu version 20.04 20.04 20.04 20.04 20.04
docker version 20.10.21 23.0.2 20.10.21 20.10.21 20.10.25
Result (bind mount /etc/passwd) OK OK NG NG OK
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0