docker和nodejs
来源:互联网 发布:mac os 系统占用空间 编辑:程序博客网 时间:2024/05/01 09:44
去年买了一本docker书,本来想玩玩,可是了各种事情,一直闲着,最近在玩nodejs,突然想起可以把他们两个合一起玩。
我做过一段时间的APP后台开发,主要是RESTful API开发,主要使用C++和PHP开发,这期间还开源了一个FastCGI开发的框架ccfast。那么玩nodejs也是弄弄restful api开发。js的语法比较简单,20分钟差不多,然后看的nodejs入门那边书,其中讲了nodejs开发的基础,以及怎么写一个可扩展的程序框架,我在它之上修改了一点点,然后写了个python脚本,自动生成一个基础文件。
zhou@zhou-K42JE:~/work/nodejs/nodejs_project_template/test$ lsapp.js config_router.js router.jsconfig_app.js request_handler.js server.j
app是程序入口文件,server封装了httpServer,router封装了路由函数,request_handler为具体的处理函数,还有就是路由和app的配置参数。
添加一个handler处理很简单,只要在request_handler添加一个function,和在路由配置中将pathname和handler配置就行了.
function test(request, response) { response.writeHead(200, {'Content-type' : 'text/html'}); response.write("test"); response.end();}exports.test = test;
router_mapping['/text'] = request_handler.test;
这样我们使用 nodejs app.js运行程序,然后curl http://localhost:8888/test
运行了。
写一个简单的Dockerfile来build我们的一个镜像。
FROM daocloud.io/ubuntu:14.04MAINTAINER zhx910322@163.comRUN mkdir -p /appWORKDIR /appCOPY test/* /app/RUN apt-get update RUN apt-get install -y nodejs EXPOSE 8888ENTRYPOINT ["nodejs", "app.js"]
我们使用了国内的容器服务提供商daocloud的提供的服务比较快。
docker build --no-cache=true -t docker_dev/nodejs_t_demo:0.1 .
使用上面命令build镜像
docker run -d -P docker_dev/nodejs_t_demo:0.1
基于上面build的镜像启一个容器。 docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESc662bfb455ce docker_dev/nodejs_t_demo:0.1 "nodejs app.js" About an hour ago Up About an hour 0.0.0.0:1025->8888/tcp agitated_babbage
我们的程序在后台运行,容器中的8888端口映射在本地的1025端口,可以我curl http://localhost:1025
没有输出,不知道什么原因,还需努力学习啊。
相关代码:https://git.oschina.net/zhouX/nodejs_project_template.git
- docker和nodejs
- 安装go nodejs docker
- Docker 上开发 nodejs
- docker部署nodejs,mongodb
- docker部署nodejs环境(boot2docker)
- docker运行nodejs小程序
- Docker实践--部署Nodejs应用
- 《The Docker Book》NodeJS Dockerfile
- centos7 下用docker部署nodejs应用
- docker:nodejs :git:EC2:ubuntu <网站发布!>
- Docker 上开发 nodejs方法步骤详解
- JHispter前端(NodeJS)Docker化
- linux下Docker部署nodejs应用
- Docker + Ubuntu 安装 nodejs,redis 生成新镜像
- Docker和Docker-compose安装
- NodeJS:Windows 下Npm和NodeJS升级
- commonJS和NodeJS
- NodeJS和CommonJS
- leetcode | House Robber
- 【UWP应用开发实战】第一弹 使用剪切板
- 算法之atoi && itoa
- 深入Java单例模式
- 测试发帖
- docker和nodejs
- MySql-解决中文乱码问题
- 逻辑运算符
- Haar特征与积分图
- Webservice原理解析
- 排版设计之统一元素间隔
- hdoj--1686--Oulipo
- 基于HttpClient的java后台访问URL
- css之display