我试图在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
gulp
npm install gulp
npm install --global gulp
WORKDIR
我的猜测是它与音量有关,因为当我摆脱与音量有关的任何事情时,它不会抱怨。
项目结构先生如下图所示:
答案 0 :(得分:3)
您需要本地版本的gulp以及全局版本。
添加此行应解决您的问题
RUN npm i gulp
答案 1 :(得分:0)
这对我有用。
RUN npm install -g gulp
RUN npm link gulp
答案 2 :(得分:0)
如果你添加了 gulp 并且你已经构建了镜像。
您可能需要删除卷或容器。然后再次运行 docker compose up
。
docker volume rm hello
docker rm /redis
或在一个命令中
docker rm -v redis