如何从dockerfile运行gulp任务
我正试图从Dockerfile中运行gulp任务。这是我的文件如何从dockerfile运行gulp任务,docker,gulp,dockerfile,Docker,Gulp,Dockerfile,我正试图从Dockerfile中运行gulp任务。这是我的文件 # # 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>
#
# 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"]
其中,ng config是在gulpfile.js文件中定义的我的gulp任务
当我尝试用上面提到的Dockerfile内容构建图像时,我会得到类似gulp:NotFound这样的错误
我不确定gulp是否没有正确安装,或者为什么它不能识别gulp命令。
你们能帮忙吗
编辑:
如果我尝试在全局范围内安装gulp,我的构建将失败,并出现以下输出
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
将生成上下文发送到Docker守护程序7.893MB
步骤1/9:从库/节点:4
--->3fb5ca8fcd8e
步骤2/9:维护者数字无缝
--->使用缓存
--->242154cec3ce
步骤3/9:运行npm安装-g bower-grunt cli&&echo'{“allow_-root”:true}'>/root/.bowerrc
--->使用缓存
--->b73fc7831a4a
步骤4/9:运行npm安装-g gulp-y
--->使用缓存
--->b498e61bfb8e
步骤5/9:运行gulp ng配置--环境开发
--->在38d2e7f208cc中运行
[08:21:29]在中未找到局部吞咽/
[08:21:29]尝试运行:npm安装gulp
命令'/bin/sh-c gulp ng config--env development'返回一个非零代码:1
您必须在全局和本地安装gulp:
RUN npm install -g gulp
RUN npm install gulp
有关原因的讨论,请参阅。我也尝试了gulp的全局安装,但docker构建过程仍然失败。请参阅张贴的编辑部分。但是,当从dockerfile中删除gulp ng confg命令并创建docker映像时,会创建映像,我可以运行该映像,当我将docker exec放入正在运行的容器中并再次运行gulp ng config--env命令时,它会成功执行,可能是从dockerfile安装了gulp,只是由于某种原因,在DockerfileThank@Meoma中无法识别gulp命令,在全局和本地安装之后,我可以从Dockerfile运行gulp任务
RUN npm install -g gulp
RUN npm install gulp