技术文章 | 基于阿里的Node全栈之路(一)部署Docker

news/2024/7/12 3:01:42 标签: 架构, docker, 服务器, 函数, HTTPS

本文来源于阿里云-云栖社区,原文点击这里


在经历多次项目技术改革,现在的技术架构基本稳定下来了。一个人的开发不容易啊,想在这里分享下自己的一些想法和走过的一些坑,希望能够帮助到大家。下面放下我现在的技术架构


_


Docker是个好东西,虽然阿里出了函数计算,但在使用的时候,发现还是缺乏些火候,而且现在的函数计算还是比较适合高CPU型api,鄙见鄙见~

阿里docker的流程:


  1. 创建ali的code仓库
  2. 创建docker镜像
  3. 创建docker容器服务
  4. 创建docker的时候,阿里会自动部署负载均衡(https的放在下个文章更新)

一般,我的项目结构是这样的:

  • -project
  • -api // 项目的api
  • -app // React-Native,移动端
  • -www // 项目主页
  • -admin // 项目后端管理系统
  • -h5 // 宣传H5
  • -Dockerfile // 部署api使用


            贴上我的api的通用dockerfile


            dockerfile" style="margin:0px; padding:0.5em; font-size:undefined; font-family:Menlo,Monaco,Consolas,"Courier New",monospace; background:rgb(35,36,31); white-space:pre-wrap; display:block; overflow-x:auto">FROM node:7
            MAINTAINER Mumudeveloper
            #hardcode
            RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
            RUN yarn global add forever
            
            # Create www directory
            RUN mkdir -p /api
            COPY ./api /api
            
            # Install www dependencies
            WORKDIR /api
            RUN yarn install
            
            EXPOSE 7001
            # Define default command.  
            ENTRYPOINT forever start  -l forever.log -a index.js && tail -f ~/.forever/forever.log
            
            


            好!重点来了,敲黑板!
            大家注意到我这一行没有,嗯,这是我跑docker的时候遇到的第一个坑啦!


            dockerfile" style="margin:0px; padding:0.5em; font-size:undefined; font-family:Menlo,Monaco,Consolas,"Courier New",monospace; background:rgb(35,36,31); white-space:pre-wrap; display:block; overflow-x:auto">RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
            


            去年,做了一个中间商平台,订单是按照时间来定价格了,一个时间一个价格,因为市场是波动的,当时我怀抱着一种很开心很高兴觉得自己很流逼的心情,把项目部署在docker上。部署完后,高高兴兴的睡觉了,因为明天还要上班呢!突然凌晨1点,合作方打电话过来,很急很急的样子,一接电话,我的心都凉了,晚上提交的几千订单,时间错误!!!

            急急忙忙的起身,查bug,现在想来都心塞塞...orz...

             展开全文


            http://www.niftyadmin.cn/n/1451741.html

            相关文章

            uva 10641 - Barisal Stadium(dp+几何)

            题目链接:uva 10641 - Barisal Stadium 题目大意:按照顺时针给出操场的周边点,然后给出周围可以建设照明灯的位置,以及在该位置建设照明灯的代价,照明灯照射的范围与操场的边界相切,现在要求一个最小的花费…

            linux+磁盘挂载+uuid_Linux磁盘分区UUID的获取及其UUID的作用

            注:UUID-Universally Unique IDentifiers全局唯一标识符一、Linux磁盘分区UUID的获取方法1、[sanlocalhost ~]$ ls -l /dev/disk/by-uuid/total 0lrwxrwxrwx 1 root root 10 2010-01-18 02:18 0733f5c1-cb85-4f98-9d4f-122cfcee9806 -> http://www.cnblogs.com/s…

            学术会议论文查重吗_本科论文查重摘要吗

            文章作者:PaperEra官网文章来源:本科论文查重摘要吗也许在同学眼中论文摘要是比较简单的小部分,论文主体内容只要没什么重复部分就可以,但要了解一下本科论文查重摘要内容的情况。要是学校要求提交摘要的话,那么这部分…

            Android App测试要点

            本文主要内容,转载自 http://www.51testing.com/html/04/344504-849373.html, 在这里,主要是整理一下app测试的总体思路,这里的app不包括基于HTML5开发的web app。 新到手一个测试项目,首先要熟悉下整个项目的流程&…

            聚能聊 | 为什么大佬们会让大家警惕人工智能?

            本文来源于阿里云-云栖社区,原文点击这里。 这些新闻最近各种上热榜: 霍金:人工智能会导致人类灭亡 比尔・盖茨:人类需要敬畏人工智能的崛起 马斯克称人工智能是人类生存最大威胁 这是因为人工智能要进入新阶段了?这些…

            Windows Azure 社区新闻综述(#76 版)

            欢迎查看最新版本的每周综述,其中包含有关云计算和 Windows Azure 的社区推动新闻、内容和对话。以下是本周的亮点。 文章、视频和博客文章 更新 Windows Azure 中的 SQL Server AlwaysOn IP(11 月 4 日发布) Windows Azure Storage Cl…

            Java嵌入式开发之j2me--二(转)

            第二节 J2ME的体系结构  现在个人计算机系统的数量和种类已经发展到无法控制的地步,请你想一想,你编写的程序运行在“信息家电”舞台的情景吧,这些信息家电包括呼叫器,行动电话,像Palm这样的个人数字助手(PDA)&#…

            python实现批量下载视频_python批量下载抖音视频

            本文实例为大家分享了python批量下载抖音视频的具体代码,供大家参考,具体内容如下 知识储备:博主是在Pycharm下进行的 文件夹:dou_ying 1:在文件夹doy_ying下新建第一个文件:dou_ying_video_download.py 代…