表題の件について質問させていただきます。
Docker Desktopが条件次第で有料化したので、WLS2上でDockerを立ち上げてPython環境を構築しました。
(ここらへんを参考にしています)
Windows11上にWLS2のubuntuを立ち上げて、Dockerをスタートさせてvisual studio code上で「print("test")」が出力される状態になりました。
今度はDocker上で動くVisual Studio CodeからWindowsのファイルを読み込みたいと思っています。
実現したいこと
Windows11上にWLS2を立ち上げてからDockerを立ち上げて、そこからvisual studio codeを起動します。この状態からWindows上のファイルを読み込みたいです。
例えば、Dドライブ上の"test"というフォルダーにある"test_csv.csv"というファイルを読み込みたいとします。
つまり下記のコードが動くようにしたいです。
python
1import pandas as pd 2 3path ='D:/test/test_csv.csv' 4 5df = pd.read_csv(path)6print(df)
しかし、これはDocker上に起動したvisual studio codeなので、Windows上のファイルは当然認識しません。
試したこと
色々調べたところ、DockerにWindows上ののフォルダーをマウントするという方法があるようです。(下記参照)
参考もとによれば、例えばCドライブならば
/mnt/c/
からパスをつなげるとWindows上のフォルダーをマウントできるようです。
試しにWLS2のubuntuで下記のように入力してみます。(コマンドと各種オプションをちゃんと理解していないので、誤りがあればご指摘いただけるとありがたいです)
docker run -it -v /mnt/D/test://new_dir ubuntu
この状態で下記のように入力してみます。
ls new_dir
このディレクトリの中には"test_csv.csv"があるはずなのに何も表示されません。
一方で、参考もとのように「\wsl.localhost\Ubuntu-20.04\mnt\D\test」というディレクトリが作成されていて、こちらを読み込んでいるようです。Windows上の「'D:/test」は読み込めていないようです。
このように、Windows上のファイルを読み込む手段が分かりません。ご教示いただけるとありがたいです。
0 コメント