使用dorker部署nuxt3项目

1. 连接云服务器安装dorker

我这里以阿里云服务器为例,其他的也是差不多的操作。

CentOS 7.x :

运行以下命令,下载docker-ce的yum源。

bash 复制代码
sudo wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

运行以下命令,安装Docker。

复制代码
sudo yum -y install docker-ce

执行以下命令,检查Docker是否安装成功。

复制代码
sudo docker -v

如下图回显信息所示,表示Docker已安装成功。

执行以下命令,启动Docker服务,并设置开机自启动。

bash 复制代码
sudo systemctl start docker
sudo systemctl enable docker

执行以下命令,查看Docker是否启动。

lua 复制代码
sudo systemctl status docker

如下图回显所示,表示Docker已启动。 其他系统可以参考阿里官方安装文档: 如何部署并使用Docker(AlibabaCloudLinux3)_云服务器 ECS-阿里云帮助中心

2. 打包nuxt3项目上传

本地执行打包命令:

arduino 复制代码
npm run build

会生成一个.output文件夹,这个就是打包后的文件,然后我们在这个文件里创建一个Dockerfile文件,这个里面是编写的docker项目运行环境、打包镜像和运行项目命令的一个配置文件。

Dockerfile文件代码参考:

bash 复制代码
#1. 使用node:18.17.1作为基础镜像版本(这里选自己使用的node版本就行,以免版本不兼容)。
FROM node:18.17.1
#2. 设置环境变量NODE_ENV为production,表示将使用生产环境配置)。
ENV NODE_ENV=production
#3. 设置环境变量HOST为0.0.0.0(这个host不是指你的云服务器ip,不需要更改)。
ENV HOST 0.0.0.0
#4. 容器内创建目录/nuxt3
RUN mkdir -p /nuxt3
#5. 复制当前的内容到容器内容部目录/nuxt3
COPY ./ . /nuxt3
#6. 切换工作目录到/nuxt3
WORKDIR /nuxt3
#7. 暴露端口3000(这个端口指的是dorker容器内端口,可自行设置)
EXPOSE 3000
#8. 运行node命令,执行./server/index.mjs文件。
CMD ["node","./server/index.mjs"]

然后将.output文件上传到你的云服务器(方法自选,宝塔、xftp等)

3. dorker部署项目

将.output文件上传后,再连接云服务器终端,cd 到.output目录下

执行命令创建项目镜像:

erlang 复制代码
docker build -t image_Name .

具体解释如下:

  • docker build: 这是用于构建Docker镜像的命令。
  • -t image_Name: -t选项用于指定要构建的镜像的名称,image_Name是您为镜像指定的名称。您可以自定义名称,例如my_image
  • .: 这表示Dockerfile所在的路径,.表示当前目录。Docker将在当前目录下查找Dockerfile文件,并使用它来构建镜像。

创建容器并运行镜像:

css 复制代码
docker run --name frontend -d -p 8000:3000 image_Name 

具体解释如下:

  • docker run: 这是用于在Docker中运行容器的命令。
  • --name frontend: --name选项用于指定容器的名称,这里将容器命名为frontend。您可以自定义容器名称。
  • -d: -d选项用于在后台模式下运行容器,即将容器作为守护进程运行。
  • -p 8000:3000: -p选项用于将容器的端口映射到宿主机的端口。这里将容器的端口3000映射到宿主机的端口8000。您可以根据需要修改端口映射的设置。
  • image_Name: 这是要运行的镜像的名称,这里是image_Name

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

如果无法访问,可以再输入命令

复制代码
docker logs frontend(容器名)

查看具体报错。

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

以下是相关dorker命令

arduino 复制代码
//列出正在运行的容器
docker ps
//停止容器
docker stop 容器名
//删除容器
docker rm 容器名
//列出docker镜像
docker images
//删除镜像
docker rmi 镜像名
相关推荐
shaoFan111 分钟前
关于java 调用阿里千问大模型,流式返回,并返回给前端
java·前端·状态模式
❆VE❆21 分钟前
React基础篇(三):项目中 React 基础核心知识点实战
前端·javascript·react.js·前端框架
Momo__24 分钟前
contenteditable 深度剖析:让网页元素「活」起来
前端·html
栀栀栀栀栀栀27 分钟前
强迫症犯了(゚∀゚) 2026/4/26
前端·javascript·vue.js
Lucas_coding41 分钟前
【xiaozhi-客户端】xiaozhi-web-client 连接客户端 6位有效码
前端
谪星·阿凯42 分钟前
电商系统Web渗透测试实战指南
前端·网络·安全·web安全·网络安全
redreamSo1 小时前
HeyGen 开源了一个"用 HTML 写视频"的框架,我研究了一下,发现事情没那么简单
前端·开源·音视频开发
GISer_Jing1 小时前
前端视角:AI正在重构B端产品,传统配置化开发终将被取代?
前端·人工智能
We་ct1 小时前
LeetCode 63. 不同路径 II:动态规划解题详解
前端·算法·leetcode·typescript·动态规划
布局呆星1 小时前
Vue3+TS封装Axios请求全攻略
前端·javascript·ajax·typescript