首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Nodemon正在使我的Kubernetes部署崩溃(导致此问题的node_modules)

Nodemon正在使我的Kubernetes部署崩溃(导致此问题的node_modules)
EN

Stack Overflow用户
提问于 2017-11-20 05:34:36
回答 1查看 911关注 0票数 4

我一直在和kubernetes打交道,我正在尝试用minikube,node和nodemon建立一个开发环境。如果我在一个独立的容器中运行我的映像,它工作得很好,但是如果我把它放在我的部署中,它就会崩溃,并显示以下错误。

代码语言:javascript
运行
复制
yarn run v1.3.2
$ nodemon --legacy-watch --exec babel-node src/index.js
/app/node_modules/.bin/nodemon:2
'use 
^^^^^
 SyntaxError: Invalid or unexpected token
    at createScript (vm.js:80:10)
    at Object.runInThisContext (vm.js:139:10)
    at Module._compile (module.js:599:28)
    at Object.Module._extensions..js (module.js:646:10)
    at Module.load (module.js:554:32)
    at tryModuleLoad (module.js:497:12)
    at Function.Module._load (module.js:489:3)
    at Function.Module.runMain (module.js:676:10)
    at startup (bootstrap_node.js:187:16)
    at bootstrap_node.js:608:3
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

我的package.json中有一个dev命令

代码语言:javascript
运行
复制
"dev": "nodemon --legacy-watch --exec babel-node src/index.js",

我的映像是使用以下docker文件构建的

代码语言:javascript
运行
复制
FROM node:8.9.1-alpine

WORKDIR /app

COPY . /app/

RUN cd /app && yarn install

我的部署就是这样设置的

代码语言:javascript
运行
复制
---
apiVersion: apps/v1beta1
kind: Deployment
metadata:
  labels:
    app: nodeapp
  name: nodeapp
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nodeapp
  template:
    metadata:
      labels:
        app: nodeapp
    spec:
      containers:
      - name: nodeapp
        imagePullPolicy: Never
        image: app:latest
        command:
        - yarn
        args:
        - run
        - dev
        ports:
          - containerPort: 8080
        volumeMounts:
        - name: code
          mountPath: /app
      volumes:
      - name: code
        hostPath:
          path: /Users/adam/Workspaces/scratch/expresssite
---
apiVersion: v1
kind: Service
metadata:
  name: nodeapp
  labels:
    app: nodeapp
spec:
  selector:
    app: nodeapp
  ports:
  - name: nodeapp
    port: 8080
    nodePort: 30005
  type: NodePort
---

它显然在nodemon binstub中的'use strict'上崩溃了,但我不知道为什么。它作为一个独立的docker容器工作得很好。我们的目标是让nodemon在我为开发保存更改时在每个pod中重新启动节点进程,但我真的不确定我的错误在哪里。

编辑:

我已经稍微缩小了范围。它正在从文件主机挂载node_modules,这就是导致它崩溃的原因。我确实有一个.dockerignore文件设置。有没有办法让它像这样工作(所以如果我运行npm install,它会获取更改),或者有没有办法让它使用与镜像一起安装的node_modules?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47382240

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档