7

我正在使用 Vue 对接一个 Vite 应用程序。当我yarn dev从系统运行时,一切正常,但是当我从 dockerfile 启动相同的命令时,出现以下错误

yarn run v1.22.5

warning package.json: No license field

$ vite

failed to load config from /app/vite.config.ts

error when starting dev server:

Error: spawn Unknown system error -8

我的 dockerfile 是

FROM node:14.16.0-alpine3.13

WORKDIR /app

COPY . .

CMD ["yarn", "dev"]

我的 docker-compose.yml 是

version: '3.8'

services:
  client:
    build: 
      context: ./dockerfiles
      dockerfile: client.dockerfile
    volumes:
      - ./client:/app
    ports:
      - '3000:3000'

我的文件夹结构是

client
|-public
|-src
|-node_modules
|-package.json
|-vite.config.ts
|- ... rest of files
dockerfiles
|-client.dockerfile
docker-compose.yml (at root level)
4

2 回答 2

7

我遇到了同样的问题,由于某种原因,docker 使用了node_modules项目中的文件夹而不是它自己的文件夹(使用RUN npm install命令)。我已经通过添加一个.dockerignore文件并忽略node_modules项目来解决它。

//.dockerignore

node_modules/*
于 2021-04-28T19:03:23.060 回答
1

我还没有完全弄清楚这个,但我认为它与高山节点图像有关。尝试改用节点的“纤细”图像之一。

于 2021-04-26T19:05:46.140 回答