Node.js+Edge.js调用C#代码本地正常,Docker容器运行异常求助
Node.js容器内通过Edge.js调用C#代码报错问题
我是技术新手,本地环境下在Node.js应用中使用Edge.js调用内嵌C#代码完全正常,但使用以下Dockerfile和Docker Compose配置构建容器后,程序运行出现报错。尝试多种方法均未解决,不清楚是否可在容器内复用该代码,核心需求是实现容器内Node.js调用C#代码的功能。
本地运行核心代码
var formRoute = require("./routes/formRoute") const session = require("express-session"); const express = require('express'); const bodyParser = require("body-parser"); var app = express(); app.set("view engine", "ejs") app.use(bodyParser.urlencoded({extended: true})) const Item = require('./class/Item') //IMPORT ITEM LA CLASSE CHE USO PER SCRIVERE SU DB const pool = require('./database') var {getItem,getItems,addItem,getItem2,updateDiscount,loadScript,updateScript,checkIfPresent} = require('./dbDataManager') //IMPORT DI TUTTE LE FUNZIONI NECESSARIE require("dotenv").config(); var scriptF = require('./ScriptDll/myScript') var edge = require('edge-js') var dllFunc = edge.func( { source: function (){/* using System; using System.Threading.Tasks; using System.Linq; public class Number { public Number(int num) { _Number = num; } public int _Number {get;set;} } public class Startup { public async Task<object> Invoke(dynamic input) { return new Number(input.num); } } */} } ) app.get('/dllTest',(req,res)=> { var typeJson = {num:req.body.number} let updateType = dllFunc(typeJson,function (error,result){ if (error) throw error; console.log(result||error) }) res.send(updateType) })
Dockerfile配置
FROM node:22 WORKDIR /app COPY package*.json ./ RUN npm install COPY . /app EXPOSE 3308 CMD ["node","index.js"]
Docker Compose配置
services: appnode: image: nodeimage build: context: ./ScontiNodeApp dockerfile: Dockerfile container_name: nodeappcont ports: - "3308:3308" volumes: - /DockerSave:/app/DockerData
内容的提问来源于stack exchange,提问作者Diego Carde
相关产品推荐
相关产品推荐

