Nuxt部署到Docker
1 复制项目到服务器
首先在Nuxt项目中,执行以下命令
npm run build
执行后整个项目目录为 进入服务器,在root目录下,创建nuxt文件夹
mkdir nuxt
把上面的所有文件,除了.idea、node_modules、package-lock.json之外,全部复制到nuxt文件夹下 在上面的图片中会看到有两个之前没有的文件,docker-compose.yml和Dockerfile,下面为两个文件的内容,因为我是在本地编辑之后才复制进去的
(这里需要说到的是,对于docker-compose我不太熟悉,但是之前没用到docker-compose时,我是把项目全部拉近服务器,然后在那个文件夹里面去使用PM2管理器启动项目,但是总有各种错误,甚至没办法进行访问。后来请教了大佬之后才有了以下的方法)
Dockerfile
FROM node:16.14.0
MAINTAINER wangxin
ENV NODE_ENV=production
ENV HOST 0.0.0.0
RUN mkdir -p /nuxt
COPY . /nuxt
WORKDIR /nuxt
EXPOSE 3000
RUN npm cache clean --force
RUN npm install --no-package-lock --registry=https://registry.npm.taobao.org
RUN npm run build
CMD ["npm","start"]
docker-compose.yml
version: "3"
services:
node:
build: .
ports:
- "3000:3000"
(再次提醒,这两个文件可以在本地编辑后上传,不然直接vim总有各种各样的错误哈哈哈哈)
2 开始进行镜像构建
(原来docker-compose构建之后也会形成一个新的镜像,因为我用得少,所以不太了解) 在nuxt目录下执行以下命令
docker-compose build
接着通过查看镜像命令看是否构建成功 说明成功了,接着创建容器并运行,这个命令其实等同于平时我们的 docker run … ,但是这个命令一定要在nuxt目录里执行,当然,如果你创建的不是该目录名字,那就替换成你刚才创建的目录名即可
docker-compose up
执行之后可用docker ps -a查看容器,运行成功后,用服务器公网ip:3000即可访问nuxt项目
|