mr_maestro
@mr_maestro

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

WSL Docker環境でパスのマウントを行う

解決したいこと

Windows11 でWSL2を使用してDocker環境を構築し、Jupyternotbookを使えるようにすることでKaggleに参加しようと思っています。

ただ上記は実装できたのですが、データを取り入れるためにローカルドライブをマウントしようとしたところ、エラーとなってしまいできません。

どなたか解決方法を教えてください。

実行環境

windows11
WSL2
Docker for Windows
Container - Ubuntu 20.13 LTS

発生している問題・エラー

docker: Error response from daemon: invalid mode: /new.
See 'docker run --help'.

該当するソースコード

$ docker run -p 8888:8888 -v "//C://Users//username//OneDrive//デスクトップ//Kaggle Folder//Test":/new ubuntu

自分で試したこと

試したこと1:
絶対パスにして/を2つずつ付与した。
"//C://Users//username//OneDrive//デスクトップ//Kaggle Folder//Test"

試したこと2:
「"」をつけないとImageはlower caseにしてくださいというエラーになるので、つけた。

試したこと3:
Containerのフォルダパスの名前をbinとか、違う名前にしてみた。

どうぞよろしくお願いします。

0

1Answer

WSL2バックエンドであれば、ボリュームオプションはこんな感じではないでしょうか?

-v /mnt/c/Users/username/OneDrive/デスクトップ/Kaggle\ Folder/Test:/new
1Like

Comments

  1. @mr_maestro

    Questioner

    ありがとうございます!
    フォルダ名のスペース個所はそのように記述するのですね。

    無事マウントできましたが、今度はdocker startで起動しなくなりました。
    docker stop、docker restartなども試しましたがダメそうでした。
    ちなみに他のコンテナは普通に起動できるようです。

    https://qiita.com/mom0tomo/items/35dfacb628df1bd3651e
  2. ダメになったメッセージをよく読めば何かわかるかもしれませんね。

    そのURLに記載のアドバイスだと

    docker ps -a

    で停止しているコンテナを確認できるのでIDを指定すればログを確認できると思います。

    docker logs <CONTAINER ID>

    単純に試行錯誤の際にうまく起動できなかっただけであれば、

    docker rm <CONTAINER ID>

    で一度コンテナを削除してからやりなおせば起動するかもしれません。
  3. @mr_maestro

    Questioner

    ありがとうございます!
    起動してもエラーは出ないのですが、docker ps -aで確認してもExitedとなるようです。(Exited xx seconds agoなので一瞬起動しているようですが。。)

    削除してからやり直してみますね!
  4. コマンドラインをよくみると、普通に正常終了してしまっているようですね。

    $ docker run -it -p 8888:8888 .........

    のように -it を付けるとbashが起動した状態になると思います。

    -it の意味はそれぞれ以下の通りです。

    -i, --interactive Keep STDIN open
    -t, --tty Allocate a pseudo-TTY

Your answer might help someone💌