1.准备工作

    将开发好的前端项目和后端项目提交到github上去(后台数据库地址要对应线上的地址
    将前端打包好的文件放到express的静态文件夹public中去
    准备好一台ubuntu服务器(ubuntu版本要19.10以下 否则安装docker会失败)
    准备远程连接工具:推荐Xshell或SecureCRT(后者需要收费)
    前端项目地址:https://github.com/77tao/online-shopping-mall
    前端后台管理系统项目地址:https://github.com/77tao/online-shopping-admin
    后台地址:https://github.com/77tao/online-mall-node

    2.安装docker

    具体安装步骤请移至https://www.yuque.com/zhangjiarui-4omjz/fz52t3/drtqgi

    3.安装mongodb

    拉取官方镜像(docker提供了一个公共仓库dockerhub)

    1. $ docker pull mongo:latest

    查看镜像

    $ docker images
    

    1578393393(1).jpg

    创建容器并运行

    $ docker run -itd --name mongo -p 27017:27017 mongo --auth
    

    1578393580(1).jpg

    4.安装node

    拉取node镜像,为以后的自定义镜像做准备

    $ docker pull node:latest
    

    5.部署express

    将github上的项目克隆到 /home下

    $ git clone https://github.com/77tao/online-mall-node.git
    

    在项目根目录下 新建Dockerfile文件

    $ vim Dockerfile
    

    在Dockerfile文件中编写内容(注意项目的存放目录根据自己的情况而定)

    # 基础镜像node
    FROM node:latest
    # 镜像作者,可以附加联系信息
    MAINTAINER zjr
    
    # 创建容器内的项目存放目录
    RUN mkdir -p /home/online-mall-node
    WORKDIR /home/online-mall-node
    
    #  将Dockerfile当前目录下所有文件拷贝至容器内项目目录并安装项目依赖
    COPY . /home/online-mall-node
    RUN npm install
    
    # 容器对外暴露的端口号,要和node项目配置的端口号一致
    EXPOSE 3000
    
    # 容器启动时执行的命令
    CMD node bin/wwww
    

    生成镜像

    $ docker build -t online-mall-node .
    

    创建容器并运行

    $ docker run -d --name nodecontainer -p 80:3000 online-mall-node
    

    6.打开浏览器并访问

    1578394636(1).jpg