用docker运行项目

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

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

docker-compose.yml代码:

version: "3"

services:
  app:
    image: node:10
    working_dir: "/app"
    ports:
      - "8080:8080"
    volumes:
      - ".:/app"
    entrypoint: ["npm", "run", "dev"]

  redis:
    image: redis:alpine

 到项目根目录下执行:

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

  

 

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

 

 

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

3.打开kxb_back_redis_l的cli,输入:

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

  

 

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

 

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

 

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

Cannot find module 'shelljs/global '

则去项目根目录运行:

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

  安装成功后运行:

docker compose up -d

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

posted @ 2022-04-25 15:21  伊娜陈  阅读(979)  评论(0编辑  收藏  举报