簡體   English   中英

Vite 上的 Docker-compose

[英]Docker-compose on Vite

我正在使用 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)

我遇到了同樣的問題,由於某種原因 docker 使用了項目中的node_modules文件夾而不是它自己的文件夾(使用RUN npm install命令)。 我通過添加.dockerignore文件並忽略項目的node_modules解決了這個問題。

//.dockerignore

node_modules/*

在我的例子中,我必須在 docker 容器中運行項目,並使用 docker compose 運行前端以及其他容器,讓項目在本地運行。 我已經安裝了 vite 的定義版本,例如npm install vite@3.2.2然后 docker 需要 esbuild 為 Linux package for windows 和 arm64 for mac 所以我強制安裝esbuild-linux-64 6然后使用命令docker-compose up來運行容器並且它工作了。

我還沒有完全弄清楚這一點,但我認為它與高山節點圖像有關。 嘗試改用節點的“纖細”圖像之一。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM