window路径和linux路径变换,从linux样式路径转换时,Docker装入的卷将; C添加到Windows路径的末尾...

尝试在Windows上安装Docker映像时,我发现了一些有趣的怪异现象。

我创建了一个.sh脚本,该脚本会装载项目文件夹以运行我们的开发人员环境映像。我希望每个开发人员都可以运行一个脚本,而不管他们的计算机如何。它所做的只是在当前项目文件夹下运行docker。

#!/usr/bin/env bash

docker run -it --rm -v D:\my\project\folder:/wkDir $IMAGE_TAG yarn dev

运行正常。现在的计划是从中调用此脚本npm,因此我希望此脚本相对于当前文件夹起作用。让我们尝试另一个版本。

docker run -it --rm -v $PWD:/wkDir $IMAGE_TAG yarn dev

失败:

C:\Program Files\Docker\Docker\Resources\bin\docker.exe: Error response from

daemon: Mount denied:

The source path "D:/my/project/folder;C"

doesn't exist and is not known to Docker.

笏。有什么;C和它是在哪里来的呢?

所以我这样做echo $PWD给了我/d/my/project/folder。

有趣的是,所以$PWD将其解析为linux路径格式的正确路径,并且似乎docker试图将其转换为正确的Windows路径,除非这个;C出现在任何地方。而且\是/…

这到底是怎么回事?

我在VSCode的终端git bash和powershell中得到了相同的结果。

更新:我注意到.sh在VSCode的powershell终端中运行,会打开一个单独的cmd.exe控制台窗口,该窗口似乎在git

bash中运行脚本。因此,这可能是git bash问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值