gpt4 book ai didi

node.js - 如何调用作为 Docker 容器部署在 Linux 机器上的 Rest-Endpoint

转载 作者:太空狗 更新时间:2023-10-29 12:41:09 24 4
gpt4 key购买 nike

如有重复请见谅:我有一个 docker 容器,它是一个 Node.js 服务。我想从同一台 Linux 机器测试该服务的端点。我正在使用 curl 命令测试端点我得到 curl: (56) Recv failure: Connection reset by peer

这是我的 Dockerfile

FROM ubuntu

ARG ENVIRONMENT
ARG PORT

RUN apt-get update -qq
RUN apt-get install -y build-essential nodejs npm nodejs-legacy vim

RUN mkdir /database_service
ADD . /database_service
WORKDIR /database_service

RUN npm install -g express
RUN npm install -g path
RUN npm cache clean


EXPOSE $PORT

ENTRYPOINT [ "node", "server.js" ]
CMD [ $PORT, $ENVIRONMENT ]

这是我的配置文件:

module.exports = {
database: {
username: 'someusername',
password: 'somepassword',
host: '13.68.86.237',
port: 27017,
name: 'admin'
},
"sandbox_config": {
"commerce.api.endpoint":"sandbox_ep",
"eurekaInstance":{
"instanceId":'10.71.9.40:database-service:'+process.env.PORT || 9200,
"hostName": 'database-service',
"app": 'database-service',
"ipAddr": '10.71.9.40',
"port": { '$': process.env.PORT || 9200, '@enabled': 'true' },
"securePort": { '$': 443, '@enabled': 'false' },
"dataCenterInfo": {
'@class': 'com.netflix.appinfo.InstanceInfo$DefaultDataCenterInfo',
"name": 'MyOwn'
},
"homePageUrl": 'http://database-service:'+process.env.PORT || 9200+'/',
"statusPageUrl": 'http://database-service:'+process.env.PORT || 9200+'/info',
"healthCheckUrl": 'http://database-service:'+process.env.PORT || 9200+'/health',
"vipAddress": 'database-service',
"secureVipAddress": 'database-service',
"isCoordinatingDiscoveryServer": 'false',
"leaseInfo": {
"renewalIntervalInSecs": 60000,
"durationInSecs": 60000,
}
},
"eurekaConfig":{
"host":'eureka-server',
"port":8761,
"servicePath":'/eureka/apps/'
}
}

};

请提示这里是否遗漏了什么或命令有误。

Here is the Snap for error

最佳答案

如果您运行 docker image inspect image_tag,您将看到您认为在您的 CMD 指令中插入的变量在容器运行之前不会被解析-时间。

在您的ARG 指令之后添加这个

ENV PORT $PORT
ENV ENVIRONMENT $ENVIRONMENT

确保默认环境变量在运行时可用

关于node.js - 如何调用作为 Docker 容器部署在 Linux 机器上的 Rest-Endpoint,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43740780/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com