Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Docker Compose w/Gulp-未找到本地Gulp_Node.js_Docker_Gulp_Docker Compose - Fatal编程技术网

Node.js Docker Compose w/Gulp-未找到本地Gulp

Node.js Docker Compose w/Gulp-未找到本地Gulp,node.js,docker,gulp,docker-compose,Node.js,Docker,Gulp,Docker Compose,我试图在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/

我试图在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
生成成功,但当我运行
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在本地安装
    gulp
  • 尝试在
    WORKDIR
  • 尝试了卷的不同路径
我的猜测是,它与卷有关,因为当我摆脱与卷有关的任何东西时,它不会抱怨

Mr项目结构如下面的屏幕截图所示:


您需要本地版的gulp以及全球版的gulp

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

RUN npm i gulp

这就是我的工作

RUN npm install -g gulp
RUN npm link gulp

如果您添加了gulp,并且已经创建了图像。 您可能需要删除卷或容器。然后再次运行
docker compose up

docker volume rm hello
docker rm /redis
或者在一个命令中

docker rm -v redis

docker内部安装gulp时可能存在错误,请改用gulp cli<代码>npm错误!代码E404 npm错误!404未找到:natives@https://registry.npmjs.org/natives//natives-1.1.4.tgz