当前位置:网站首页 > 云计算与后端部署 > 正文

docker基础(五)-多阶段构建部署vue前端项目

一,概述

对于部署前端项目如vue项目而言,多阶段构建就是:

第一步:先把前端代码放置到指定工作目录,进行npm install ,然后在npm run build,把dist文件打包出来。 第二步:把dist文件复制到指定目录,然后配置nginx,开放端口能够访问这个项目。 

二,多阶段构建部署vue前端项目

1,根目录新建nginx/default.conf

server { 
    listen 80; server_name localhost; #charset koi8-r; access_log /var/log/nginx/host.access.log main; error_log /var/log/nginx/error.log error; location / { 
    root /usr/share/nginx/html; index index.html index.htm; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { 
    root /usr/share/nginx/html; } } 

2,根目录新建dockerfile文件

# build stage #使用14.15.0的node版本作为运行软件 FROM node:14.15.0-alpine as build-stage #将此目录作为工作目录 WORKDIR /app #复制本目录下的package文件(源文件)到工作目录(目标目录) COPY package*.json ./ #在工作目录执行npm install  RUN npm install #将本本录下所有文件复制到目标目录 COPY . . RUN npm run build # production stage FROM nginx:stable-perl as production-stage COPY --from=build-stage /app/dist /usr/share/nginx/html
COPY --from=build-stage /app/nginx/default.conf /etc/nginx/conf.d/default.conf EXPOSE 80 CMD ["nginx", "-g", "daemon off;"] 

3,根目录新建 .dockerignore文件

构建镜像的时候 node_modules 的依赖直接通过 RUN npm install 来安装,项目中创建一个 .dockerignore文件来忽略一些直接跳过的文件:

node_modules npm-debug.log 

4,使用dockerfile文件构建vue项目的镜像

docker build -t vuesecond . 

注意要在当前项目的根目录运行,因为,-t 是给镜像命名,. 是基于当前目录的 Dockerfile 来构建镜像。

5,构建好镜像之后可以查看镜像

docker image ls 

在这里插入图片描述
到此时我们的 Vue 应用镜像 vuesecond已经成功创建。接下来,我们基于该镜像启动一个 Docker 容器。

6,基于此镜像启动一个容器

docker run -p 3002:80 -d --name vueApp2 vuesecond 
docker run 基于镜像启动一个容器 -p 3000:80 端口映射,将宿主的3000端口映射到容器的80端口 -d 后台方式运行 --name 容器名,查看 Docker 进程 

7,查看现有容器列表

 查看正在运行的容器:docker ps 查看所有容器:docker ps -a 

在这里插入图片描述

8,浏览器访问前端项目

在这里插入图片描述

到此这篇docker基础(五)-多阶段构建部署vue前端项目的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • webpack5配置portfinder支持端口多开2024-11-30 20:54:05
  • 调试前端代码二三事--(一)-调试基础2024-11-30 20:54:05
  • 搭建前端项目时的技术选型考虑2024-11-30 20:54:05
  • http之浏览器同源政策——端口、域名、协议,三者同及不跨域;解决跨域的方案有哪些2024-11-30 20:54:05
  • Centos 查看服务器磁盘,内存,端口等命令2024-11-30 20:54:05
  • docker基础(三)-制作镜像部署vue前端项目2024-11-30 20:54:05
  • 前端项目架构模板-(三)交互式打包及自动化部署前端项目2024-11-30 20:54:05
  • 异步操作之后让await后续的代码能够继续执行2024-11-30 20:54:05
  • VUE项目部署到tomcat服务器-前端配置2024-11-30 20:54:05
  • ElementUI 实现上传同名且后缀不同的两个文件2024-11-30 20:54:05
  • 全屏图片