用docker运行项目

背景:因为有两个不同node版本的项目要穿插进行,每次运行都要node8和node14互相切换,有一个办法是把一个项目放到docker里运行

1. 将docker-compose.yml文件放到项目根目录下(根目录:D:\project\kxb_back)

docker-compose.yml代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
version: "3"
 
services:
  app:
    image: node:10
    working_dir: "/app"
    ports:
      - "8080:8080"
    volumes:
      - ".:/app"
    entrypoint: ["npm", "run", "dev"]
 
  redis:
    image: redis:alpine

 到项目根目录下执行:

1
docker compose up -d  //通过提前编写好的yml 文件在当前宿主机上创建或者重新创建容器,以后台的方式运行容器

  

 

    2. 然后进入docker桌面软件,将两个服务都启动:

 

 

已经有两个服务,然后打开kxb-back-app-l的cli,运行npm i ,安装依赖包

3.打开kxb_back_redis_l的cli,输入:

1
redis-cli<br>config set requirepass zhuhuakeji2016  //更加项目代码中的redis密码,设置docker的镜像docker的密码

  

 

 再讲本地代码中连接redis的地址改成连接docker中的地址:

 

4.两个服务都运行成功后,在浏览器打开http://localhost:8080,项目运行起来了。

 

另外:如果有特殊情况,kxb-back-app-l启动报错:

Cannot find module 'shelljs/global '

则去项目根目录运行:

1
docker run --rm -it -w /app -v .:. node:10 npm i

  安装成功后运行:

1
docker compose up -d

 kxb-back-app-l就可以成功启动起来了。

posted @   伊娜陈  阅读(987)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示