Docker Compose w / Gulp – 找不到本地gulp

我正在尝试在Docker容器中使用gulp。

我有以下的Dockerfile

 FROM golang:alpine RUN apk --update add --no-cache git nodejs RUN npm install --global gulp ENV GOPATH=/go PATH=$PATH:/go/bin VOLUME ["/go/src/github.com/me/sandbox", "/go/pkg","/go/bin"] WORKDIR /go/src/github.com/me/sandbox CMD ["gulp"] 

我有以下docker-compose.yml

 version: '2' services: service: build: ./service volumes: - ./service/src/:/go/src/github.com/me/sandbox 

docker-compose build构build成功构build,但是当我运行docker-compose up ,出现以下错误消息

 Recreating sandbox_service_1 Attaching to sandbox_service_1 service_1 | [22:03:40] Local gulp not found in /go/src/github.com/me/sandbox service_1 | [22:03:40] Try running: npm install gulp 

我尝试了几个不同的事情来尝试修复它。

  • 也试图在全球和本地安装gulp-cli
  • 试图用npm install gulp在本地npm install gulp
  • 尝试在WORKDIR之后移动npm install --global gulp
  • 尝试了不同的path。

我的猜测是,这与卷有关,因为当我摆脱与卷有关的任何事情时,它不会抱怨。

Mr项目结构如下图所示:

在这里输入图像说明

你需要一个本地版本的吞咽以及全球。

添加这一行应该可以解决你的问题

 RUN npm i gulp