如何从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
看到这个职位的原因讨论。