Docker - Docker 在使用 $PWD 时抱怨:在 Windows 10 Pro 中

Docker - Docker is Complaining When Using $PWD: In Windows 10 Pro

我现在正在学习 docker,只是想按照他们的教程学习。我已经在讨论 Using Bind Mounts 的主题,我遇到了一个我似乎无法找到解决方案的问题。我尝试按照教程中的内容执行以下命令,

docker run -dp 3000:3000 \ -w /app -v $PWD:/app \ node:12-alpine \ sh -c "yarn install && yarn run dev"

..但它不断抛出以下错误消息,

At line:1 char:39 + docker run -dp 3000:3000 \ -w /app -v $PWD:/app \ node:12-alpine \ sh ... + ~~~~~ Variable reference is not valid. ':' was not followed by a valid variable name character. Consider using ${} to delimit the name. + CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException + FullyQualifiedErrorId : InvalidVariableReferenceWithDrive

我已经尝试使用以下解决方案,

docker run -dp 3000:3000 \ -w /app -v ${PWD}:/app \ node:12-alpine \ sh -c "yarn install && run dev"
docker run -dp 3000:3000 \ -w /app -v "${PWD}:/app" \ node:12-alpine \ sh -c "yarn install && run dev"
docker run -dp 3000:3000 \ -w /app -v "${PWD}":/app \ node:12-alpine \ sh -c "yarn install && run dev"
docker run -dp 3000:3000 \ -w /app -v ${pwd}:/app \ node:12-alpine \ sh -c "yarn install && run dev"
docker run -dp 3000:3000 \ -w /app -v "${pwd}:/app" \ node:12-alpine \ sh -c "yarn install && run dev"
docker run -dp 3000:3000 \ -w /app -v "${pwd}":/app \ node:12-alpine \ sh -c "yarn install && run dev"

...但无济于事,我只是看到这个错误,

C:\Program Files\Docker\Docker\resources\bin\docker.exe: invalid reference format. See 'C:\Program Files\Docker\Docker\resources\bin\docker.exe run --help'.

如果有人能帮助和指导我解决这个问题,我将不胜感激。 :)

请尝试以下命令。

$ docker run -dp 3000:3000 -w /app -v ${PWD}:/app  node:12-alpine  sh -c "yarn install && run dev"

您必须删除 \,因为您已将命令写在一行中。

\ 最常用于此类情况(即为了更容易阅读长命令):

docker run -p 3000:3000 \
-w /app -v $PWD:/app \
node:12-alpine \
sh -c "yarn install && yarn run dev"