Docker部署Nuxt.js项目的实现

Docker官方文档: https://docs.docker.com/

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

使用 docker 部署 nuxt.js 项目

1、构建 node 镜像

FROM node:alpine

为啥使用 alpine 版本?

相比于其他 Docker 镜像,它的容量非常小,仅仅只有 5 MB 左右(对比 Ubuntu 系列镜像接近 200 MB),且拥有非常友好的包管理机制。官方镜像来自 docker-alpine 项目。 目前 Docker 官方已开始推荐使用 Alpine 替代之前的 Ubuntu 做为基础镜像环境。这样会带来多个好处。包括镜像下载速度加快,镜像安全性提高,主机之间的切换更方便,占用更少磁盘空间等。

2、设置项目保存目录

RUN mkdir -p /app/src

3、复制项目代码到镜像

COPY ./src /app/src

4、指定命令执行的目录

WORKDIR /app/src

5、设置 host

ENV HOST 0.0.0.0

6、执行项目安装及编译

RUN npm install RUN npm run build RUN npm cache clean --force

7、设置外部访问端口

EXPOSE 3000

8、执行 nuxt 项目运行命令

CMD ["npm", "start"]

完整的 Dockerfile 文件

FROM node:alpine

RUN mkdir -p /app/src
COPY ./src /app/src
WORKDIR /app/src

ENV HOST "0.0.0.0"

RUN sed -i "s/dl-cdn.alpinelinux.org/${ALPINE_REPOSITORIES}/g" /etc/apk/repositories

RUN apk add --no-cache make gcc g++ python

RUN npm install
RUN npm run build
RUN npm cache clean --force

RUN apk del make gcc g++ python

EXPOSE 3000
CMD ["npm", "start"]

当在项目中使用 sass 或者 scss 时,需依赖 python 环境,所以需要安装 python,当然在编译相关资源后,可以删除相应的依赖以减小镜像体积。

运行 Docker

1、构建镜像

docker build -t nuxt-demo

2、启动容器

docker run -dt -p 3000:3000 nuxt-demo

3、访问

打开浏览器,访问 127.0.0.1:3000

1、可以用 Docker Compose 对容器进行编排,快速的部署多容器应用。
2、可以用 nginx 对容器进行代理,避免直接以端口的形式访问容器。

到此这篇关于Docker部署Nuxt.js项目的实现的文章就介绍到这了,更多相关Docker部署Nuxt.js内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 在docker中部署tomcat并且部署java应用程序的步骤详解

    先给大家简单说下Docker的概念 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何接口. 1.先说如何在docker中部署tomcat 第一步:root用户登录在系统根目录下创建文件夹tomcat7,命令如:mkdir tomcat7,并且切换到该目录下:cd tomcat7: 第二步:创建Dockerfile,命令如:touch Docker

  • 详解如何在 Docker 中设置 Go 并部署应用

    嗨,在本教程中,我们将学习如何使用 docker 部署 golang web 应用程序. 你可能已经知道,由于 golang 的高性能和可靠性,docker 是完全是用 golang 写的.在我们详细介绍之前,请确保你已经安装了 docker 以及 golang 并对它们有基本了解. 关于 docker Docker 是一个开源程序,它可以将应用及其完整的依赖包捆绑到一起,并打包为容器,与宿主机共享相同的 Linux 内核.另一方面,像 VMware 这样的基于 hypervisor 的虚拟化操

  • 在Docker上部署Python的Flask框架的教程

    本文中,我将尝试展示用Docker开发python应用(主要是Web应用)的可行方法.虽然我本人专注于Python的Flask微框架,但本文目的是演示如何通过Docker更好地开发和共享应用程序,(由任何语言和框架开发的应用程序).Docker通过封装依赖项,大大减少了开发环境和正式产品的差距. 大多数Python开发人员在开发中使用virtualenv.它提供了一种易用的机制让应用程序使用自己专用的依赖项,这些依赖项可能与在其它应用程序或操作系统存在冲突(尤其是不同的Pyhton版本,还有不同

  • 利用docker部署nextcloud 网盘的方法步骤

    NextCloud 你可以在自己的计算机上共享任何文件或文件夹,并将它们与 NextCloud 服务器同步.当你把文件放入共享目录,这些文件就会立即同步到 NextCloud 服务器以及所有相关联的 NextCloud / ownCloud 桌面客户端.Android 客户端或 iOS 客户端. 安装docker yum install docker-io -y docker -v // 查看版本 systemctl start docker // 启动 docker systemctl ena

  • 详解如何使用Docker部署一个web项目并打包成镜像文件

    docker基本入门以后,可以试试打包docker镜像与dockerfile了 docker镜像 docker hub仓库有2类仓库,用户仓库和顶层仓库,用户仓库由docker用户创建的,顶层仓库由docker内部的人来管理的.仓库里存放的是镜像文件,那么问题来了 ,怎么去创建镜像呢? how to create image 构建docker镜像的有2种方法: 1.使用docker commit命令. 2.使用docker build 命令和Dockerfile文件.在这里并不推荐使用docke

  • 利用OpenVSwitch在多台主机上部署Docker的教程

    [编者的话]当你在一台主机上成功运行Docker容器后,信心满满地打算将其扩展到多台主机时,却发现前面的尝试只相当于写了个Hello World的入门程序,多主机的网络设置成了下一道门槛.在你尝试各种方案时不妨先看看本文,或许就会豁然开朗,发现原来也不复杂.嗯,是的,本文用到了 OpenVSwitch. 运行Docker已经不是什么新鲜事,网上有很多入门教程来帮助你在一台主机上运行容器.这台主机可以是Linux服务器,也可以是Mac(借助类似boot2docker的项目). 在多台主机上运行却是

  • Docker部署nginx并修改配置文件的实现方法

    docker 部署个nginx,简直太简单了好吧 直接一行命令搞定: docker run \ --name nginx-health-web-pc \ -d -p 6800:80 \ -v /usr/docker/nginx/html:/usr/share/nginx/html \ nginx 运行启动不亦乐乎~~~~~这时候忽然前端过来说:"你的nginx里得加一个配置",顺带还告诉你:"某某某以前就是这样配的", 此时好胜的你当然不能拒绝,但是真正配置起来还是

  • Docker 自动部署tomcat详解

    Docker 自动部署tomcat 1. 下载镜像 # Docker pull centos:latest  #获取最新的centos镜像 2. 启动容器 #docker run -i -t -v /home/user/software/:/home/software/ imageId /bin/bash 其实包含以下三个部分: docker run <相关参数> <镜像ID> <初始命令> 其中,相关参数包括: -i:表示以"交互模式"运行容器 -

  • Docker中部署mysql服务的方法及遇到的坑

    最近一直在学习搬运工,感觉这么厉害的东西怎么以前不知道呢,把自己捣鼓的过程整理记录下来,供同学们参考 第零步:从Docker Hub拉取官方mysql镜像 docker pull mysql 然后就是进入漫长的等待,当然如果你配置了镜像加速器,速度会快那么一丢丢 第一步:使用docker images命令查看镜像 你会看到我们这里已经有了MySQL的的镜像 第二步:启动我们的mysql的镜像,创建一个MySQL的容器 使用命令:docker run -d --name mysql -p 3307

  • Docker部署Nuxt.js项目的实现

    Docker官方文档: https://docs.docker.com/ Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何接口. 使用 docker 部署 nuxt.js 项目 1.构建 node 镜像 FROM node:alpine 为啥使用 alpine 版本? 相比于其他 Docker 镜像,它的容量非常小,仅仅只有 5

  • 利用forever和pm2部署node.js项目过程

    本文主要给大家分享的是利用forever和pm2部署node.js项目过程的相关内容,分享出来供大家参考学习,下面来看看详细的介绍: 一.forever forever可以在cmd或ssh连接断开时,让项目一直运行,而且可以在项目崩溃时自动重启 安装 npm install -g forever forever的帮助手册 forever --help 使用forever启动项目 forever start app.js 使用forever停止项目 forever stop app.js 列出所有

  • 利用PM2部署node.js项目的方法教程

    前言 大家在开发中应该发现了,如果直接通过node app来启动,如果报错了可能直接停在整个运行,supervisor感觉只是拿来用作开发环境的.再网上找到pm2.目前似乎最常见的线上部署nodejs项目的有forever,pm2这两种.下面本文将详细介绍利用PM2部署node.js项目的方法教程,需要的朋友们下面来一起看看详细的介绍: 使用场合: supervisor是开发环境用. forever管理多个站点,每个站点访问量不大,不需要监控. pm2 网站访问量比较大,需要完整的监控界面. P

  • 详解从买域名到使用pm2部署node.js项目全过程

    作为一个前端,对写好的项目怎么部署到服务器是一脸蒙圈的,但还是对这个很感兴趣,决定尝试一下,说干就干. 一.买域名和服务器 要部署项目肯定要买域名,这点是必不可少的,发现腾讯云上边有免费的服务器可用(只免费7天),于是就到腾讯云买了域名,又在腾讯云领了免费的服务器,当然这期间会让你实名认证. 买域名 领服务器 在腾讯云选择了CentOS服务器,接下来进行域名解析,然后对服务器进行设置(账号密码之类的) 域名解析 二.部署Node.js环境 (一)登录服务器,先更新一下(第一次使用服务器先更新下)

  • Vue.js + Nuxt.js 项目中使用 Vee-validate 表单校验

    vee-validate 是为 Vue.js 量身打造的表单校验框架,允许您校验输入的内容并显示对应的错误提示信息.它内置了很多常见的校验规则,可以组合使用多种校验规则,大部分场景只需要配置就能实现开箱即用,还支持自定义正则表达式.而且支持 40 多种语言,对本地化.多语言支持非常友好. 国内饿了么团队开源项目 Element UI 就用到了 vee-validate . vee-validate 官网:https://baianat.github.io/vee-validate/ 1. 安装

  • 云服务器部署Node.js项目的方法步骤(小白系列)

    以aliyun为例,选购服务器建议选择CentOS, 配置按照自己的需求选择,付款成功后进入控制台页面,重置root密码即可远程登录服务器.可在控制台点击远程登录,也可在安装了ssh的主机上登录 # 查看公网ip # 以下为示例公网ip ssh root@150.77.1.85 环境安装 安装node.js # As root curl -sL https://rpm.nodesource.com/setup_12.x | bash - # No root privileges curl -sL

  • 创建nuxt.js项目流程图解

    安装 步骤一:创建nuxt.js项目 步骤二:确定项目名.描述.作者,直接回车 步骤三:确定包管理工具 步骤四:选择UI框架 步骤五:选择前端服务器框架 步骤六:选择模块 步骤七:选择格式化工具 步骤八:选择测试框架 步骤九:选择渲染模式 ==SSR,服务器端渲染,需要nuxt.js需要知道,并需要练习的[推荐]== SPA,之前学的单页,本课程不练习. 步骤十:选择发布工具 步骤十一:安装成功 完整信息 安装成功截图 运行 以上就是创建nuxt.js项目流程图解的详细内容,更多关于创建nuxt

  • IDEA连接远程服务器Docker部署Spring Boot项目的详细教程

    开始前的准备工作 拥有一台云服务器,我的是腾讯云服务器(CentOS7) 腾讯云服务器安装Docker,我的版本是Docker 19.03.9,关于安装和配置镜像加速器可以查阅我的另一篇博文:https://www.jb51.net/article/188048.htm,其中有详细的讲解 Windows上有安装IDEA 正式开始工作 第一步:配置Docker,开启远程访问(注:仅供学习参考,实际生产环境万万不可,会产生很大的安全风险),默认端口是2375,也可以修改为其他端口 1.修改/lib/

  • 使用Docker部署war包项目的实现

    使用Docker部署war,必须要用容器,我们就用tomcact容器,其实都是将war包丢到tomcat的webapps目录下,tomcat启动的情况下会自动解压war包. 一种是在Docker中安装tomcat容器的镜像,然后把war包丢到tomcat镜像下webapps中即可.但是如果tomcat关闭了,其webapps下的包就会消失:二就是利用挂载,还是安装tomcat容器的镜像,但是不把war包丢到tomcat下的webapps中,直接创建一个外部文件夹,将这个外部文件夹跟wabapps

  • 使用Docker部署Spring Boot项目的实现步骤

    目录 创建一个简单的springboot项目 一.在 pom.xml 中 ,使用 Spring Boot 2.2.10 相关依赖 二.添加 web 和测试依赖 三.创建一个 DockerController,在其中有一个hello()方法,访问时返回:hello,nihao 四.启动类 使用 Docker 部署 Spring Boot 项目 一.将项目打成jar包,拷贝到服务器上,测试一下 二.看到 Spring Boot 的启动日志后表明环境配置没有问题,编辑Dockerfile文件: 三.接

随机推荐