部署服务器系列二: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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值