zoukankan      html  css  js  c++  java
  • nuxt docker 运行

    nuxt 是vue 版的next ,实现的功能还是很方便的,对于需要开发性能要求比较高的web app
    是一个很不错的选择
    备注: 项目很简单,使用docker && docker-compose 运行,同时对于静态页面的处理使用了
    docker 的多阶段处理,通过nginx 提供服务,服务端的运行模式使用了pm2 工具

    nuxt 环境准备

    基本项目,很简单,使用的create 脚手架

    • 初始化项目
      注意选择参数使用了静态页面的,同时使用yarn 进行管理
     
    yarn create nuxt-app demoapp 
    • 添加pm2 配置
      可以通过安装pm2 工具生成
      pm2 init
     
    module.exports = {
      apps : [{
        name: 'nuxt app deploy',
        script: 'yarn start',
        instances: 1,
        autorestart: true,
        watch: false,
        max_memory_restart: '1G',
        env: {
          NODE_ENV: 'production'
        },
        env_production: {
          NODE_ENV: 'production'
        }
      }]
    };
     
     

    docker 环境配置

    • dockerfile
      支持多种
      服务器端运行模式:
     
    FROM node:alpine
    WORKDIR /app
    COPY . /app
    RUN yarn global add pm2
    LABEL NORE="just for test"
    ENV NODE_ENV=production
    ENV HOST 0.0.0.0
    LABEL AUTHOR="1141591465@qq.com"
    EXPOSE 3000
    RUN yarn && yarn build
    CMD [ "pm2-runtime", "start", "ecosystem.config.js" ]
     
     

    静态网站运行模式:

    FROM node:alpine as build
    WORKDIR /app
    COPY . /app
    RUN yarn global add pm2
    LABEL NORE="just for test"
    ENV NODE_ENV=production
    ENV HOST 0.0.0.0
    LABEL AUTHOR="1141591465@qq.com"
    EXPOSE 3000
    RUN yarn && yarn build && yarn generate
    FROM openresty/openresty:alpine
    LABEL AUTHOR="1141591465@qq.com"
    COPY --from=build /app/dist/ /usr/local/openresty/nginx/html/
    COPY nginx.conf usr/local/openresty/nginx/conf/
    EXPOSE 80
     
     
    • docker-compose 文件
     version: "3"
     services:
        ssr:
          build:
            context: ./
            dockerfile: ./Dockerfile
          ports:
          - "3000:3000"
        static:
          build:
            context: ./
            dockerfile: ./Dockerfile-static
          ports:
          - "8080:80"
     
     

    构建&&启动

    • 构建
    docker-compose build
     
    • 启动
    docker-compose up -d
    • 访问效果

    说明

    注意pm2 docker 运行应该使用pm2-runtime 命令

    参考资料

    https://github.com/rongfengliang/nuxt-docker-running
    https://nuxtjs.org/guide/installation
    https://pm2.io/doc/en/runtime/overview/

  • 相关阅读:
    推荐:Markdown编辑软件 --- 小书匠
    GoldenDict词典配置
    ivew admin
    FineUI学习网址
    博客主题说明网址
    Xshell,Xftp免费版下载方法
    linux 常用命令及操作
    Oracle数据库随机取某条记录的一个字段值
    service和ingress
    centos7离线安装docker (二进制)
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/10282320.html
Copyright © 2011-2022 走看看