Docker卷命令行选项错误目录的文件

时间:2015-08-18 20:17:17

标签: docker

我有以下命令:

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

我最终在{dock>容器而不是文件中将package.json作为目录

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

我该如何排序这个问题?我的语法出错了什么?

修改

使用@manojlds的建议很好:

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

解决了这个问题。

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

digitallyseamless/nodejs-bower-grunt回购中的Dockerfile似乎已经完成了您尝试做的大部分工作:

  1. WORKDIR /usr/src/app - 设置工作区
  2. ONBUILD COPY package.json /usr/src/app/ - 将package.json文件复制到容器中。
  3. ONBUILD COPY bower.json .bowerrc* /usr/src/app/ - 将bower.json复制到容器中。
  4. ONBUILD RUN bower install - 安装bower
  5. 如果你很幸运,你可能只能$ docker run -it --rm digitallyseamless/nodejs-bower-grunt,(或$ docker run -it --rm digitallyseamless/nodejs-bower-grunt bower为凉亭),它会起作用。