1
我想从我的Dockerfile运行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 <[email protected]>
# 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注意,我试图按以下步骤安装杯和运行一饮而尽任务:
RUN npm install gulp -y
RUN gulp ng-config --env development
,其中n配置,那么我一饮而尽任务gulpfile.js文件中定义。
当我尝试建立图像与上述Dockerfile内容,我得到错误,如一饮而尽:找不到
我不知道如果没有得到正确安装一饮而尽或为什么不承认吞气命令。 你们能帮忙吗?
编辑:
如果我试图在全球范围内安装一饮而尽,我的生成失败与下面的输出。
Sending build context to Docker daemon 7.893MB
Step 1/9 : FROM library/node:4
---> 3fb5ca8fcd8e
Step 2/9 : MAINTAINER Digitally Seamless <[email protected]>
---> 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的全局安装,但docker构建过程仍然失败。请参阅发布的问题编辑部分。然而,当从dockerfile中移除gulp ng-confg命令并创建docker镜像时,会创建镜像,并且我可以运行该镜像,并且当我将exec docker exec放入正在运行的容器中并再次运行gulp ng-config --env命令时它得到执行成功,可能是从dockerfile安装吞噬,这只是因为某些原因在dockerfile中无法识别gulp命令 – Rahul
谢谢@Meoma,在全局和本地安装之后,我可以从Dockerfile运行吞吐任务 – Rahul