在Docker中运行 Nodejs 遇到的问题记录1

    xiaoxiao2021-03-25  115

    机器已经安装好docker, 版本是Docker version 1.9.1, build a34a1d5。 1. 从163下载镜像    docker pull hub.c.163.com/public/nodejs:5.7.0 2. 编写Dockerfile

       FROM hub.c.163.com/public/nodejs:5.7.0

       RUN mkdir -p /app    WORKDIR /app    COPY . /app    RUN npm install    EXPOSE 8123    CMD ["npm", "start"] 3. 编写Package.json        {     "name": "nodetest",     "version": "1.0.0",     "description": "Node.js on Docker",     "author": "boatman",     "main": "test.js",     "scripts": {         "start": "node test.js"     },     "dependencies": {         "express": "^4.13.3"     }    } 4. 编写test.js   var express = require('express'),   app = express(),   server = require('http').createServer(app);   app.post('/report', function(req, res) {    req.rawBody='';    req.setEncoding('utf8');    req.on('data', function(chunk){        req.rawBody += chunk;    });    req.on('end', function(){       console.log(req.rawBody);    });    res.json({"error":0, "result":"report info ok"});  }); app.get('/report', function(req, res) {    req.setEncoding('utf8');    res.json({"error":0, "result":"report info ok"}); }); var port = process.env.HTTP_PORT || 8123; server.listen(port); console.log('Listening on port ' + port); 5. 制作image   docker build -t node/test . 6. 运行container   docker run -d  -p 8123:8123  node/test 7. nodejs程序没有自启动,用docker ps 查看:     8. 解决方法    把Dockerfile的CMD 改成 ENTRYPOINT  9. nodejs程序正常启动    

    10. 成果展示

     

    转载请注明原文地址: https://ju.6miu.com/read-25097.html

    最新回复(0)