Docker Volume命令行选项将目录文件错误

问题描述:

我有以下命令:

docker run --privileged=true -it --rm \
   -w /usr/src/app \
   -v ./package.json:/usr/src/app/package.json  \
   -v .bowerrc:/usr/src/app/.bowerrc \
   -v ./bower.json:/usr/src/app/bower.json  \
   -v ./build/npm.tmp/node_modules:/usr/src/app/build/npm.tmp/node_modules  \
   -v ./build/npm.tmp/bignibou-client/src/bower_components:/usr/src/app/build/npm.tmp/bignibou-client/src/bower_components \
   digitallyseamless/nodejs-bower-grunt bash

我最终得到了 package.json 是Docker容器中的目录,而不是文件。

I end up with package.json being a directory in the docker container instead of a file.

root@c706711a7ad4:/usr/src/app# cat package.json/
cat: package.json/: Is a directory

如何解决此问题?我的语法有什么问题?

How can I sort this problem? What am I getting wrong with the syntax?

编辑

使用来自@manojlds的建议可以很好地工作:

Using the advice from @manojlds works fine:

更改为 -v $ {pwd)/package.json:/usr/src/app/package。 json \

解决问题。

尝试提供绝对路径,而不是相对路径:

Try providing an absolute path, instead of a relative path:

-v /home/projects/package.json:/user/src/app/package.json