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. 成果展示
