使用 DaoCloud 部署 NODE

[编者的话] 当文字偶遇代码,当程序插上了翅膀,让分享成为我们彼此沟通的语言。我们期待可以构建这样一个平台让开发者们看到你们的智慧,挖掘你们的才华,让彼此在开源的路上不再孤独。“DaoCloud分享写作计划”已全面启动,欢迎投稿。


作者:xinshangshangxin


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/appRUN 是安装环境,整句话是指创建了一个app文件夹供后续使用
  • WORKDIR /usr/src/appWORKDIR 是切换目录,整句话是指切换到 /usr/src/app 目录下
  • COPY . /usr/src/app 整句话是指将当前文件夹下文件复制到 app目录下
  • RUN npm install --production 执行 npm install 命令,安装node程序的依赖包
  • EXPOSE 1340EXPOSE 是端口映射,1340 是你的node程序跑的端口
  • CMD ["node","dist/server.js"]CMDcontainer(容器)启动时执行的命令,也就是平常我们使用的 node dist/server.js

上传Github和绑定Github

  • 在你原来node程序的基础上,添加修改上面的Dockfile;上传至github。

如果你没有现成的程序,可以直接 clone 我的项目 ngMusic项目地址 到你的github中。

  • 在DaoCloud中选择 代码构建

dc

  • 接着点击 创建新项目 dc

  • 接着 输入项目名称 和同步代码源,选择你部署的项目,最后点击 开始创建

注:此处我github已经绑定,所以使用 coding 做演示

dc

开始构建

dc

构建完成

dc

  • 点击查看镜像,接着再点击部署最新版本 后开始部署。

  • 部署成功,可以访问看看你的程序;如果失败,回头看看那里出错了~~

dc

参考文档


本文来自“DaoCloud分享写作计划”,这项计划旨在为开发者提供一个平台,分享使用Docker的心得体会和技术经验。DaoCloud将为文章作者提供一定的物质奖励,具体方式请访问:DaoCloud写作分享计划 ,欢迎Docker爱好者和DaoCloud用户踊跃投稿。