在docker上部署egg项目——图文详解

docker上部署egg项目——图文详解

  • 在docker上部署egg项目——图文详解
  • 一、部署环境准备:
  • 二、安装教程:
      • (1)安装egg脚手架
      • (2)之后在package,json的同级目录创建一个Dockerfile文件:
      • (3)生成对应的镜像
  • 三、总结

在docker上部署egg项目——图文详解

一、部署环境准备:

  1. 腾讯云服务器上的cetnos7(或者VMware上的cetnos7——”需要能够联网”)。
  2. linux上安装好了docker。
  3. 熟悉egg脚手架的安装。链接: 官网安装教程
  4. 了解dockerfile的编写
  5. 目录说明:linux上egg的安装目录/home/dockerfile/egg-example,会和docker里的egg项目的/home/dockerfile/egg-example进行挂载。

二、安装教程:

(1)安装egg脚手架

// 安装脚手架
mkdir egg-example && cd egg-example
npm init egg --type=simple
npm i

获取如下目录:
在docker上部署egg项目——图文详解_第1张图片

(2)之后在package,json的同级目录创建一个Dockerfile文件:

在docker上部署egg项目——图文详解_第2张图片
文件内容:

# 设置基础镜像,如果本地没有该镜像,会从Docker.io服务器pull镜像
FROM node

# 创建app目录
RUN mkdir -p /home/dockerfile/egg-example

# 设置工作目录
WORKDIR /home/dockerfile/egg-example

# 所以,正确的顺序是: 添加package.json;安装npm模块;添加源代码。
COPY package.json /home/dockerfile/egg-example/package.json

# 安装npm依赖(使用淘宝的镜像源)
# 如果使用的境外服务器,无需使用淘宝的镜像源,即改为`RUN npm i`。
RUN npm i --registry=https://registry.npm.taobao.org

# 拷贝所有源代码到工作目录
COPY . /home/dockerfile/egg-example

# 暴露容器端口
EXPOSE 7001

# 启动node应用
CMD npm run dev

(3)生成对应的镜像

  1. 首先修改package.json里的内容:
    在docker上部署egg项目——图文详解_第3张图片
  2. 输入构建镜像命令:
docker build -t egg_demo .
//后面这个.一定要记得加

完成之后会得到刚刚生成的镜像
在docker上部署egg项目——图文详解_第4张图片
3. 根据生成的镜像生成对应的容器

// 根据自己的需求进行生成
docker run -d -v /home/dockerfile/egg-example:/home/dockerfile/egg-example -p 9033:7001 egg_demo03

注释:默认egg的端口为7001,所以上面选择暴露的是7001端口,通过映射就可以通过linux的地址+端口访问到egg项目。
在这里插入图片描述
测试效果:
在docker上部署egg项目——图文详解_第5张图片

三、总结

  • 到这里简单的egg项目在docker的部署就完成了,需要注意的是里面标注的几个细节。
  • 如果自己对dockerfile有更加深刻的理解,可以自己编写dockerfile文件,根据自己的需求进行挂载和端口映射之类的。
  • 本人记录这个也是做一个笔记,都是些基础的知识,希望各位大神不喜勿喷!!!!!

你可能感兴趣的:(egg,node.js,linux,docker,node.js)