対処ができればとりあえず良いと思うんで事象と対処について説明
環境
windows
vscodeでgitbash使用
docker desktop使用
事象
イメージ作って以下コマンド実行
docker container run -it -p 4567:4567 --name sinatra -v "${PWD}/srcs":/var/www sample/sinatra:latest
↓file sharing エラー発生(これは大したことないが)
docker: Error response from daemon: user declined directory sharing C:\Users\S724\Downloads\github\docker_ruby_yamaura\docker\src;C.
↑なんかパスの末尾に;Cついてるうう
心配になりつつfile sharingの設定をdocker desktopで設定
すると。。。
src;Cファイルが実際に作成されてしまっていたのです。
さらにファイル作ったりしてもdocker内の指定ディレクトリに同期されない・・・
対処
docker container run -it -p 4567:4567 --name sinatra2 -v "C:\Users\S724\Downloads\github\docker_ruby_yamaura\docker\srcs":/var/www sample/sinatra:latest
普通にパス指定したら治った
状況整理
・環境変数が介入すると末尾に;Cがついている
・git bash上ではC:\Users\S724\Downloads\github\docker_ruby_yamaura\docker\src;Cは想定したファイル.\srcを指している模様
・src;Cにファイルを作ったりしても同期されない
・対処のコマンドだと正しく機能する
追記(重要)
コンバータが悪さをしているみたいなので以下のように環境変数を設定した上で実行するとpwdでもいけました
MSYS_NO_PATHCONV=1 docker container run ...