如何从dockerfile运行gulp任务

我正在尝试从我的Dockerfile运行gulp任务。 这是我的Dockerfile

# # Node.js w/ Bower & Grunt Dockerfile # # https://github.com/digitallyseamless/docker-nodejs-bower-grunt # # Pull base image. FROM library/node:4 MAINTAINER Digitally Seamless <docker@digitallyseamless.com> # Install Bower & Grunt RUN npm install -g bower grunt-cli && \ echo '{ "allow_root": true }' > /root/.bowerrc RUN npm install gulp -y RUN gulp ng-config --env development # Define working directory. WORKDIR /data COPY . /data # Define default command. EXPOSE 7000 CMD ["bash"] 

请注意在上面的Dockerfile中我正在尝试安装gulp并运行gulp任务,如下所示:

 RUN npm install gulp -y RUN gulp ng-config --env development 

ng-config是我在gulpfile.js文件中定义的吞食任务。

当我尝试用上面提到的Dockerfile内容来构build图像时,我得到了像gulp一样的错误:找不到

我不确定吞咽是否没有正确安装,或者为什么它不能识别吞咽命令。 你们能帮忙吗?

编辑:

如果我尝试全球安装gulp,我的构build会失败,并显示以下输出。

 Sending build context to Docker daemon 7.893MB Step 1/9 : FROM library/node:4 ---> 3fb5ca8fcd8e Step 2/9 : MAINTAINER Digitally Seamless <docker@digitallyseamless.com> ---> Using cache ---> 242154cec3ce Step 3/9 : RUN npm install -g bower grunt-cli && echo '{ "allow_root": true }' > /root/.bowerrc ---> Using cache ---> b73fc7831a4a Step 4/9 : RUN npm install -g gulp -y ---> Using cache ---> b498e61bfb8e Step 5/9 : RUN gulp ng-config --env development ---> Running in 38d2e7f208cc [08:21:29] Local gulp not found in / [08:21:29] Try running: npm install gulp The command '/bin/sh -c gulp ng-config --env development' returned a non-zero code: 1 

您必须在全球本地安装gulp:

 RUN npm install -g gulp RUN npm install gulp 

看到这个职位的原因讨论。