0
0

More than 1 year has passed since last update.

windowsでdockerのvolume指定するときに環境変数使ったら;Cついてくる問題

Last updated at Posted at 2022-08-19

対処ができればとりあえず良いと思うんで事象と対処について説明

環境

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 ...

上の参考:https://github.com/docker-archive/toolbox/issues/673

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