带有Docker的ViteJS无法找到模块npm运行安装

nwlls2ji  于 2023-02-11  发布在  Docker
关注(0)|答案(1)|浏览(203)

我的Docker文件

FROM node

WORKDIR /app

COPY package*.json .

RUN npm install

COPY . .

CMD npm run dev

EXPOSE 4000

ENV NODE_ENV development

和 Docker 组成

version: '3.8'

services:
  app:
    build: .
    container_name: train_vite
    working_dir: /app/
    ports:
      - "4000:4000"
    volumes:
      - ./:/var/www/html/app
    command:
      - npm run install
      - npm run dev
    environment:
      NODE_ENV: development

和维生素配置ts

import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react-swc'

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [react()],
  server:{watch:{
    usePolling:true,
    },
    host:true,
    strictPort:true,
    port:4000
  }
})

抛出如下错误

我运行的命令是docker composite up
我尝试运行一个Docker图像,其中应用程序文件夹链接到Docker文件夹(卷),以查看实时更改。

omhiaaxx

omhiaaxx1#

单个command可在合成定义中指定为字符串:

"/run/this/command witharg"

或者命令及其参数的数组。

[ "/run/this/command", "witharg" ]

现有定义正在尝试使用参数npm run dev执行名为npm run install的二进制文件
将示例更新为字符串:

version: '3.8'

services:
  app:
    build: .
    container_name: train_vite
    working_dir: /app/
    ports:
      - "4000:4000"
    volumes:
      - ./:/var/www/html/app
    command: "npm run dev"

或者作为阵列

command: [ "/usr/local/bin/npm", "run", "dev" ]

要在启动时运行多个命令,构建需要在容器中有一个脚本,并且该脚本用作command or entrypoint

相关问题