如何用docker容器部署nuxt3项目

 Nuxt3是基于Vue3的一个开发框架,基于服务器端渲染SSR,可以更加方便的用于Vue的SEO优化。

Nuxt 3.0 新特性包括:

更轻量:以现代浏览器为目标的服务器部署和客户端产物最多可缩小 75 倍

更快:基于 nitro 提供动态代码分割能力,以优化冷启动性能

Hybrid:增量静态生成和其他的高级功能现在都成为可能

Suspense:在任意组件和导航前后都可以获取数据

Composition API:使用 Composition API 和 Nuxt 3 的 composables 实现真正的代码复用

Nuxt CLI:没有任何依赖,帮你轻松搭建项目和集成模块

Nuxt Devtools:通过直接在浏览器中查看信息和快速修复实现更快地工作

Nuxt Kit:具有 Typescript 和跨版本兼容性的全新模块开发

Webpack 5:更快的构建时间和更小的包大小,无需配置

Vite:使用 Vite 作为打包工具,体验闪电般快速的 HMR

Vue 3:Vue 3 是你下一个 Web 应用程序的坚实基础

TypeScript:使用原生 TypeScript 和 ESM 构建,无需额外步骤
 

具体nuxt3项目配置与打包发布,大家可以查看之前写的这篇文章: 《Nuxt3从零开始配置与打包发布》

nuxt3写的SSR项目更利于SEO,更轻量、访问速度更快、并且路由更友好、免配置路由。由于是SSR 服务端渲染(Server-side Rendering),这种技术的优点在于更快的首屏加载速度和更好的搜索引擎优化(SEO)。相比较于客户端渲染,SSR能够提高用户的使用体验。

由于nuxt3是SSR项目,所以我们需要在服务器端部署node环境或者pm2环境,用来执行启动项目服务器端命令,并且要有守护进程来保护node进程,防止被误杀停止服务器。因此我们这里选择docker容器进行部署nuxt3 SSR项目。

1、docker安装

Linux系统自动化安装docker命令:

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

如果你是用的是阿里云Linux系统部署并使用Docker(Alibaba Cloud Linux 3),命令如下:

//安装dnf,dnf是新一代的rpm软件包管理器
yum -y install dnf

//1、安装dnf源中默认的Docker(podman-docker)
//安装docker
dnf -y install docker
//注意:该方式安装的podman-docker没有守护进程(systemd),因此您在后续的操作中无需关注podman-docker的运行状态(无需进行systemctl命令的相关操作),直接使用Docker即可

//2、安装社区版Docker(docker-ce)
//添加docker-ce的dnf源
dnf config-manager --add-repo=https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

//如果提示config-manager不存在的话,执行下面安装命令
dnf install 'dnf-command(config-manager)'

//安装Alibaba Cloud Linux 3专用的dnf源兼容插件
dnf -y install dnf-plugin-releasever-adapter --repo alinux3-plus
//如果您不使用Alibaba Cloud Linux 3专用的dnf源兼容插件,将无法正常安装docker-ce
//安装docker-ce
dnf -y install docker-ce --nobest
//查看docker-ce是否成功安装
dnf list docker-ce

//启动Docker服务
systemctl start docker

//查看Docker服务的运行状态
systemctl status docker

//管理Docker守护进程
systemctl start docker     #运行Docker守护进程
systemctl stop docker      #停止Docker守护进程
systemctl restart docker   #重启Docker守护进程
systemctl enable docker    #设置Docker开机自启动
systemctl status docker    #查看Docker的运行状态

阿里官方安装文档: 如何部署并使用Docker(AlibabaCloudLinux3)_云服务器 ECS-阿里云帮助中心

如果使用的是Alibaba Cloud Linux 2,按照这个文档安装: 如何在ECS实例上部署并使用Docker_云服务器 ECS-阿里云帮助中心

如果是阿里云CentOS 8的话,按照这个文档安装:

如何部署并使用Docker(CentOS8)_云服务器 ECS-阿里云帮助中心

Docker基础命令

2、启动docker

systemctl start docker

3、停止docker守护进程

systemctl stop docker

4、重启docker守护进程

systemctl restart docker

5、设置Docker开机自启动

systemctl enable docker

6、查看docker运行状态

systemctl status docker

7、查看docker版本号

docker version

8、查看自己服务器中docker镜像列表

docker images

9、查看容器列表

docker ps

10、搜索镜像

docker search 镜像名

 11、拉取镜像

docker pull 镜像名 
docker pull 镜像名:tag

Docker打包部署nuxt3

12、打包nuxt3项目

npm run build

打包后,在.output目录里就是打包好的SSR项目文件。

我们可以在这里创建个Dockerfile文件。这个里面是编写的docker项目运行环境、打包镜像和运行项目命令的一个配置文件。

给个配置文件例子:

#1、基于镜像node版本
FROM node:16.14.0
#2、作者
MAINTAINER TanDong
#3、参数,node的环境为生产环境
ENV NODE_ENV=production
#4、任意ip
ENV HOST 0.0.0.0
#5、容器内创建目录/nuxt3
RUN mkdir -p /nuxt3
#6、复制当前的内容到容器内容部目录/nuxt3
COPY output/ . /nuxt3
#7、切换工作目录到/nuxt3
WORKDIR /nuxt3
#8、暴露端口3000,默认端口
EXPOSE 3000
#12、start
CMD ["node","./server/index.mjs"]

13、打包项目镜像(打包后的nuxt3项目文件上传到linux服务器某个目录,在目录路径里执行打包镜像命令)

docker build -t image_Name .

14、创建容器并运行镜像

docker run -it -d --name 要取的别名 -p 宿主机端口:容器端口 -v 宿主机文件存储位置:容器内文件位置 镜像名:Tag /bin/bash 

//例子如下
docker run --name nuxtContainer -d -p 9020:3000 nuxt3

这样,访问对应的ip+端口就可以访问到nuxt3部署的项目了。

如果需要更新项目,需要执行:重新打包项目最新镜像、停止容器、删除容器、重新创建并运行镜像。

15、停止容器

docker stop 容器名/容器ID

16、删除容器

docker rm -f 容器名/容器ID

17、删除镜像

docker rmi -f 镜像名/镜像ID

重新创建并运行镜像的命令和第14创建容器并运行镜像是一样的命令

持续学习的工程师
关注 关注
  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
docker-实战——部署nexus3
北城半夏
05-01 455
t通过docker启动nexus服务、并提供maven和npm包的脚本上传方式、可用与离线环境使用
部署Nuxt3项目(含PM2、Docker部署,及配合jenkins实现自动化部署
weixin_44531811的博客
01-23 5266
笔者这里的环境是两台服务器,一个是jenkins服务器,一个是测试服务器;jenkins服务器中的jenkins是通过部署的, 如果需要配置可以留言或私信作者;测试服务器中的nginx是单独安装的,然后测试服务器中还安装了docker;不管是pm2部署还是docker部署,最终都是用nginx将服务代理出去,nginx服务代理配置会在下面,具体体现;
Nuxt3:如何用docker容器部署Nuxt3
最新发布
一些平时在开发过程中遇到的常见问题,分享给大家
07-29 1450
如何使用docker部署Nuxt3项目
Docker+Nginx+pm2部署nuxt3项目
m0_46219714的博客
05-14 762
一般是.key和.cem。
记录:nuxt3项目使用docker部署在华为云上
2301_79548777的博客
05-15 1051
适合大企业与打的IT团队。CE( Community Edition)是社区版,简单理解是免费使用,提供小企业与小的IT团队使用,希望从Docker开始,并尝试基于容器的应用程序部署。参考阿里云的镜像加速文档:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors。这个里面是编写的docker项目运行环境、打包镜像和运行项目命令的一个配置文件。创建一个运行该镜像的容器,命名为my_group_web,并映射端口(服务器端口:容器端口)
Nuxt3学习】7. Docker部署
记昨日书的博客
05-29 1343
Nuxt3 + Windi CSS + iconify + element-plus 学习笔记
Nuxt部署Docker
weixin_43935923的博客
03-14 3883
Nuxt部署Docker 1 复制项目到服务器 首先在Nuxt项目中,执行以下命令 npm run build 执行后整个项目目录为 进入服务器,在root目录下,创建nuxt文件夹 mkdir nuxt 把上面的所有文件,除了.idea、node_modules、package-lock.json之外,全部复制到nuxt文件夹下 在上面的图片中会看到有两个之前没有的文件,docker-compose.yml和Dockerfile,下面为两个文件的内容,因为我是在本地编辑之后才复制进去的 (这里需
使用docker 部署nuxt.js项目
我爱吃红薯的博客
12-18 3425
记录下自己实现成功启动nuxt.js的过程。 1,nuxt.js不像vue.js一样需要经过打包成功dist文件夹,nuxt.js是直接把整个项目文件的内容(除了依赖包node_modules,.idea等)全部上传到服务器上。 2,准备好两个启动文件 2.1,Dockerfile文件 #1、基于镜像node,版本自己查看上面的链接 FROM node:10.15.3 #2、作者 MAINTAINER lyxwachs.top #3、参数,node的环境为生产环境 ENV NODE_EN.
如何使用docker部署自己的项目
六面体的博客
11-10 6983
如何使用docker部署自己的项目? 前一阵公司有一个将项目部署到私有化本地的需求,我对服务器没什么研究,搭建起来很费力,所以用docker做了一系列项目私有化部署的镜像,现在写个博客记录一下学习和搭建的过程。 拿我现在的项目举例,分为前端(vue实现),后端(PHP laravel框架), OnlineJudge(在线判题) 以及数据层和缓存(mysql, redis)。思路就是首先为各个项目创建镜像上传到dockerhub,然后使用docker-compose 一键部署 Laravel项目创建镜像
【云原生之Docker实战】使用Docker部署Talebook个人图书管理平台
jks212454的博客
09-04 3365
【云原生之Docker】使用docker部署talebook个人图书管理平台
docker搭建本地nginx环境
程序员无为的博客
11-26 376
文章目录背景启动容器命令, 请先看注意事项注意事项常用命令后记 背景 最近前端的小伙伴,一直来请教PHP集成环境的配置问题,他们采用Vue+nuxt需要nginx做反向代理支持。个人比较排斥使用PHP集成环境,有时候会有一些莫名的问题,正好之前给大家培训过docker,借这个机会让前端也实践一下,搭建一个简单nginx服务器。 启动容器命令, 请先看注意事项 docker run \ -p 80...
Docker部署前端项目nuxt
snowball的博客
09-02 1462
#####一、接前文 前文已经介绍过docker的安装以及启动一个inidex.html的简单操作。现在我们再结合我们实际项目进行一些操作 即部署一个前端nuxt前端静态项目。 为什么是nuxt,不是vue-cli? 因为当时公司要求实现静态化,有利于seo,还专门请了seo工程师。当时我们公司的方案是使用freemark(约2016年),我按照领导的要求一步一步的操作,在freemark方案下实现了。但是我的开发过程不是很痛快,没有开发普通vue工程化项目那么流畅。到现在了我看原来公司的网站架构还是当年的
nuxt 项目打包到 docker 运行
Vinca@的博客
05-16 1322
a.如何在nuxt根目录创建Dockerfile文件,打包时自动复制到构建目录.output b.构建新镜像(镜像名不能大写) c.安全组端口放行
使用docker优雅的部署你的nuxtjs项目
weixin_34258782的博客
07-28 1733
使用docker部署项目的好处 把所有的环境打包在一块,不再需要考虑开发环境问题。如果上线发生了错误,可以很快回滚到上一个可用的镜像,减少损失 那么我们怎么来部署呢? 可能当你尝试的时候会遇到一些问题 nuxt 是 ssr方式,不能指定静态文件根目录,我怎么配置访问的目录呢? 官网提供的启动方式,默认是127.0.0.1:3000 我怎...
linux docker如何同时部署nginx和nuxt,80和443端口指向nuxt的3000端口
weixin_40918145的博客
05-11 1336
问题:http默认端口是80,https默认端口是443,而nuxt项目默认端口是3000。方案一:docker分别部署nginx和nuxt,然后利用nginx代理转发到nuxt。背景:博主是个小白,想访问域名的时候,指向nuxt项目。方案二:docker同时部署nginx和nuxt,2、dockerfile文件。
nuxt3搭建和部署
dan_seek的博客
06-30 2644
Nuxt 3是一个基于Vue 3的静态网站生成框架,它提供了高性能、SEO友好的Web应用程序开发体验。Nuxt 3重写了许多核心代码,增加了新功能,如基于Vite的构建系统、改进的路由系统、数据获取和插件系统。它支持TypeScript和多种渲染模式(CSR、SSG、SSR),提供了更好的性能和更快的加载速度。Nuxt 3是Vue 3生态系统中一个完善且强大的解决方案,适用于需要服务端渲染和SEO优化的项目
Nuxt3 全栈 项目服务器部署 全网最全最细保姆级教程 解决各种小坑 时光小灶
时光小灶的博客
03-20 4527
Nuxt3 全栈 项目服务器部署 全网最全最细保姆级教程 解决各种小坑 时光小灶
docker容器部署Spring Boot项目及更新
05-31
好的,针对您的问题,我将分为两部分回答。 一、docker容器部署Spring Boot项目 1. 编写Dockerfile文件 在项目根目录下创建一个名为Dockerfile的文件,并输入以下内容: ``` FROM openjdk:8-jdk-alpine VOLUME /tmp ARG JAR_FILE COPY ${JAR_FILE} app.jar ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"] ``` 2. 构建docker镜像 在项目根目录下执行以下命令: ``` docker build -t your-image-name . ``` 其中your-image-name为你自己定义的镜像名称。 3. 运行docker容器 执行以下命令运行docker容器: ``` docker run -p your-port:8080 -d your-image-name ``` 其中your-port为你自己定义的端口号。 至此,Spring Boot项目已经成功部署docker容器中,你可以通过访问http://localhost:your-port来访问你的项目。 二、docker容器更新Spring Boot项目 1. 打包新的jar包 在项目根目录下执行以下命令打包新的jar包: ``` mvn clean package ``` 2. 更新docker镜像 执行以下命令更新docker镜像: ``` docker build -t your-image-name . ``` 3. 重启docker容器 执行以下命令重启docker容器: ``` docker restart your-container-id ``` 其中your-container-id为你自己定义的容器ID。 至此,你的Spring Boot项目已经成功更新到docker容器中。
写文章

热门文章

  • Windows下通过Anaconda安装TensorFlow及Spyder编译器 56514
  • 详解http post请求的几种数据传输方式 52236
  • AAC的ADTS头文件信息介绍 30943
  • 小程序从入门到快速开发小程序项目 25500
  • Flutter TV应用的开发尝试 25278

分类专栏

  • Flutter:从入门到实践 付费 41篇
  • 前端 4篇
  • C/C++ 1篇
  • Android 96篇
  • 机器学习 12篇
  • 数据结构与算法 4篇
  • Java Web 15篇
  • NDK 6篇
  • FFmpeg 2篇
  • Flutter Dart 8篇

最新评论

  • Nuxt3从零开始配置与打包发布

    weixin_51555558: 老哥,如何设置version,使其打包后的package.json文件version可以同步修改

  • Vue3使用Swiper实现列表内容循环滚动效果

    爱旅行的小七仔: 您好,可以问一下您json文件是怎么写的吗

  • Vue3使用Swiper实现列表内容循环滚动效果

    qq_40896537: 不会无限循环 滚动到底部就不再滚动了

  • 详解http post请求的几种数据传输方式

    爱吃瓜子的克鲁克山: 快给我贴一个C++的!!!

  • Vue3使用Swiper实现列表内容循环滚动效果

    持续学习的工程师: npm i swiper ,或者你自己看下你的swiper库路径

大家在看

  • 论文 Python 实现WOA-CNN-BiGRU-Attention数据分类预测 64
  • 手环押金原路退回系统——足浴店——东方仙盟

最新文章

  • Nuxt3 布局layouts和NuxtLayout的使用
  • Nuxt3用nginx部署到二级目录
  • Nuxt3项目从零开始开发
2023年6篇
2022年2篇
2021年1篇
2020年45篇
2019年15篇
2018年24篇
2017年28篇
2016年14篇
2015年8篇
2014年23篇
2013年37篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

持续学习的工程师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家美陈 商场 消费者的关系绥化玻璃钢卡通雕塑阿狸滁州玻璃钢动物雕塑设计台湾玻璃钢仿真雕塑美陈玻璃钢人物雕塑规格淮安玻璃钢雕塑价格招远玻璃钢雕塑动物玻璃钢雕塑代理玻璃钢雕塑条件园林玻璃钢卡通雕塑要求湖北玻璃钢卡通雕塑橘子定做贵州创意玻璃钢雕塑批发亳州大型玻璃钢雕塑定制无锡镜面玻璃钢雕塑哪家专业汕头玻璃钢雕塑公司哪家好佛山校园玻璃钢卡通雕塑南宁玻璃钢雕塑生产厂鄂州玻璃钢雕塑考拉批发南京梅州玻璃钢卡通雕塑景洪市玻璃钢雕塑定做楚雄市玻璃钢雕塑价格表玻璃钢模型雕塑厂江苏拉丝玻璃钢雕塑优质商家辽宁朝阳玻璃钢雕塑报价明细表平南玻璃钢雕塑贵阳佛像玻璃钢雕塑哪家便宜平凉景区玻璃钢雕塑价格江北玻璃钢花盆定制厂家玻璃钢蜻蜓雕塑铜陵动物玻璃钢雕塑价格香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化