当前位置: 首页 > news >正文

部署服务器系列二:Linux环境结合Docker搭建node

1、安装git、拉取

yum update
yum install git
复制代码

2、配置git

 vim ~/.gitconfig
复制代码

3、为GitHub添加SSH Keys

(1)创建SSH key

$ ssh-keygen -t rsa -C "youremail@163.com"
复制代码

(2)Copy SSH Key 然后用vim打开该文件,id_rsa.pub文件内的内容,粘帖到github帐号管理的添加SSH key界面中。

vim ~/.ssh/id_rsa.pub
复制代码

(3)添加到GitHub

登录github-> Accounting settings图标-> SSH key-> Add SSH key-> 填写SSH key的名称

4、拉取代码

git clone git@github.com:1209823208/my-koa2-demo.git
复制代码

5、在当前项目下( my-app-server)创建Dockerfile

FROM node
#创建当前运行环境
WORKDIR /var/my-app-service/
#安装依赖
RUN apt-get update && apt-get install -y curl build-essential mysql-client && \ 
    curl -sL https://deb.nodesource.com/setup_9.x | bash - && \
    apt-get install -y nodejs && rm -rf /var/lib/apt/lists/*
#拷贝当前代码(含有package.json目录)到/var/my-app-service/
COPY app ./
# COPY run.sh .
# RUN chmod +x ./run.sh
RUN npm install
# RUN echo $(find ./  -name server)

# RUN echo $(find server -name index.js)
#映射出去端口
EXPOSE 3001
#执行命令-启动项目(npm run start)
ENTRYPOINT ["npm", "run", "start"]
# ENTRYPOINT ["/var/my-app-service/run.sh"]
复制代码

6、在Dockerfile所在的目录下构建容器 mysql-react:数据库容器 my-koa-service:node服务容器

docker run -p 3001:3001 -d  --name=my-koa-service_3.0 --link mysql-react my-koa-service
复制代码

遇到的错误:

Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client

alter user 'root'@'%' identified with mysql_native_password by 'root123456';

use koa_demo;
复制代码

docker不能访问本地启动的mysql,可以访问 测试数据库能否连接

docker exec -it my-koa-service_4.0 bash
mysql -hmysql-react -P3306 -uroot -p
复制代码

阿里云服务器发布项目后无法访问:

项目已经成功启动,通过ip+端口号的方式无法访问,此时需要添加云服务器安全组规则
参考链接:https://blog.csdn.net/runner1920/article/details/79035651
复制代码

node启动后端服务需要-d挂载、前端不用,因为有nginx

相关文章:

  • ztree实用教程
  • Java并发基础01:揭秘传统线程技术中创建线程的两种方式
  • iOS上的实时远程配置
  • 【译】 WebSocket 协议第六章——发送与接收消息(Sending and Receiving Data)
  • shell各种括号用途总结
  • 简易的RPC调用框架(大神写的)
  • 捕捉Web页面子类错误堆栈中的信息
  • (原創) 如何解决make kernel时『clock skew detected』的warning? (OS) (Linux)
  • (原創) 如何刪除Windows Live Writer留在本機的文章? (Web) (Windows Live Writer)
  • 2010年9月blog汇总:敏捷个人和模型驱动开发
  • Eclipse:应该掌握的快捷键
  • 图像处理时用的卷积函数
  • asp.net web api
  • 各浏览器对页面外部资源加载的策略
  • 收藏 c#小函数
  • AzureCon上微软宣布了哪些容器相关的重磅消息
  • Hibernate【inverse和cascade属性】知识要点
  • java2019面试题北京
  • MaxCompute访问TableStore(OTS) 数据
  • Mocha测试初探
  • MySQL用户中的%到底包不包括localhost?
  • PHP 使用 Swoole - TaskWorker 实现异步操作 Mysql
  • php的插入排序,通过双层for循环
  • Xmanager 远程桌面 CentOS 7
  • 程序员最讨厌的9句话,你可有补充?
  • 分布式事物理论与实践
  • 复杂数据处理
  • 看完九篇字体系列的文章,你还觉得我是在说字体?
  • 如何使用Mybatis第三方插件--PageHelper实现分页操作
  • 入口文件开始,分析Vue源码实现
  • 一文看透浏览器架构
  • 异步
  • linux 淘宝开源监控工具tsar
  • ​【原创】基于SSM的酒店预约管理系统(酒店管理系统毕业设计)
  • ​LeetCode解法汇总518. 零钱兑换 II
  • ​linux启动进程的方式
  • ​Python 3 新特性:类型注解
  • ​用户画像从0到100的构建思路
  • # 安徽锐锋科技IDMS系统简介
  • #if #elif #endif
  • #include到底该写在哪
  • (C++)栈的链式存储结构(出栈、入栈、判空、遍历、销毁)(数据结构与算法)
  • (JSP)EL——优化登录界面,获取对象,获取数据
  • (LeetCode 49)Anagrams
  • (附源码)基于ssm的模具配件账单管理系统 毕业设计 081848
  • (附源码)基于SSM多源异构数据关联技术构建智能校园-计算机毕设 64366
  • (附源码)计算机毕业设计SSM疫情下的学生出入管理系统
  • (循环依赖问题)学习spring的第九天
  • (译) 函数式 JS #1:简介
  • (幽默漫画)有个程序员老公,是怎样的体验?
  • (转)fock函数详解
  • (转)从零实现3D图像引擎:(8)参数化直线与3D平面函数库
  • (转)关于多人操作数据的处理策略
  • (最完美)小米手机6X的Usb调试模式在哪里打开的流程
  • .NET Standard、.NET Framework 、.NET Core三者的关系与区别?