如何解决向Docker容器中的API发送POST请求时出现404错误
我试图在Docker容器中设置API,并且每当我发送HTTP POST请求时,它都会失败并显示404错误。有趣的是,当我使用nodemon运行API时,它工作得很好。
我正在使用命令docker run -p 8080:8080 IMAGE
来运行API。
这是发布请求和控制者的路线。
router.post('/',linux_aps_controller.linux_aps_send_log);
exports.linux_aps_send_log = (req,res,next) => {
const log_to_send = new Linux_APS({
_id: new mongoose.Types.ObjectId(),device_id: req.body.device_id
});
log_to_send
.save()
.then(result => {
console.log(result),res.status(201).json({
message: 'Created new Linux APS log successfully',createdLog: {
_id: result._id,device_id: result.device_id,request: {
type: 'GET',url: process.env.LINUX_ENDPOINT + result._id
}
}
});
})
.catch(err => {
console.log(err);
res.status(500).json({
error: err
});
});
}
解决方法
如果没有看到 dockerfile 本身(以及您的其余代码,它是 node/express 吗?),很难判断这里出了什么问题。
尝试使用不同的基础映像,例如 node:12.17,请参阅以下示例:
FROM node:12.17.0
WORKDIR /app
COPY package.json .
RUN npm install
COPY . .
EXPOSE 8080
CMD ["node","app.js"]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。