[编者的话] 当文字偶遇代码,当程序插上了翅膀,让分享成为我们彼此沟通的语言。我们期待可以构建这样一个平台让开发者们看到你们的智慧,挖掘你们的才华,让彼此在开源的路上不再孤独。“DaoCloud分享写作计划”已全面启动,欢迎投稿。
DaoCloud有go和python的example,却没有Node的example,把我踩的坑记录分享
注册DaoCloud
注册地址: https://account.daocloud.io/signup
整个构建和部署所需要的资源,DaoCloud都免费提供,为所有的注册用户免费提供以下资源:
- 3个项目,同时可以在DaoCloud关联和构建您的3个软件项目
- 2个容器,每个容器内存上限是256M内存空间
- 2个服务,可从MongoDB、Redis、MySQL和InfluxDB中任意选择
部署 Node 的 Dockerfile 详解
整体:
FROM node
# Build app
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY . /usr/src/app
RUN npm install --production
EXPOSE 1340
CMD [ "node","dist/server.js"]
详解:
FROM node
是指基于 node最新版 镜像RUN mkdir -p /usr/src/app
中RUN
是安装环境,整句话是指创建了一个app
文件夹供后续使用WORKDIR /usr/src/app
中WORKDIR
是切换目录,整句话是指切换到/usr/src/app
目录下COPY . /usr/src/app
整句话是指将当前文件夹下文件复制到app
目录下RUN npm install --production
执行npm install
命令,安装node程序的依赖包EXPOSE 1340
中EXPOSE
是端口映射,1340 是你的node程序跑的端口CMD ["node","dist/server.js"]
中CMD
是container
(容器)启动时执行的命令,也就是平常我们使用的node dist/server.js
上传Github和绑定Github
- 在你原来node程序的基础上,添加修改上面的Dockfile;上传至github。
如果你没有现成的程序,可以直接 clone 我的项目 ngMusic项目地址 到你的github中。
- 在DaoCloud中选择 代码构建
接着点击 创建新项目
接着 输入项目名称 和同步代码源,选择你部署的项目,最后点击 开始创建
注:此处我github已经绑定,所以使用 coding 做演示
开始构建
构建完成
点击查看镜像,接着再点击部署最新版本 后开始部署。
部署成功,可以访问看看你的程序;如果失败,回头看看那里出错了~~
参考文档
- https://github.com/DaoCloud/python-redis-sample/blob/master/application.py
- http://blog.csdn.net/wsscy2004/article/details/25878223
本文来自“DaoCloud分享写作计划”,这项计划旨在为开发者提供一个平台,分享使用Docker的心得体会和技术经验。DaoCloud将为文章作者提供一定的物质奖励,具体方式请访问:DaoCloud写作分享计划 ,欢迎Docker爱好者和DaoCloud用户踊跃投稿。