docker部署vue项目

前几天折腾vue项目部署,这里记录下操作流程,方便后续自己使用参考。

处理nodejs版本导致报错

shell 复制代码
export NODE_OPTIONS=--openssl-legacy-provider

docker 部署Vue项目

  • 1、安装nginx
shell 复制代码
docker pull nginx
  • 2、配置default.conf
shell 复制代码
# 第一版
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;
 }
}
  • 3、编写Dockerfile文件,并基于该文件创建镜像
shell 复制代码
# 设置基础镜像
FROM nginx

# 将dist文件中所有的内容复制到  /usr/share/nginx/html/目录下
COPY dist/ /usr/share/nginx/html/

# 用本地的default.conf 配置来替换nginx默认的配置
COPY nginx/default.conf /etc/nginx/conf.d/default.conf

基于Dockerfile创建镜像

shell 复制代码
# .代表当前路径
docker build -t 镜像名称 .

创建完成之后,可以使用docker image ls 查看镜像

  • 4、基于镜像启动容器
shell 复制代码
docker run -p 4001:80 -d --name 容器名称  镜像名称

docker run 表示docker运行一个软件,也就是在指定的镜像上创建一个新容器,可以通过--name指定容器名称。 -p 4001:80 表示端口的暴露,端口4001暴露在容器的80端口/宿主机的4001端口映射到容器的80端口 -d 表示在后台运行 --name xxx 表示给这个容器命名 democontainer是起的容器名称 demonginx是刚才创建的镜像名称。

查看所有容器

shell 复制代码
docker ps -a

查看当前在运行的容器

shell 复制代码
docker ps
  • 5、访问端口查看Vue项目

直接访问上面的端口4001即可 localhost:4001

参考自:

blog.csdn.net/m0_52043522...

相关推荐
Betelgeuse76几秒前
告别传统 ModelForm:用 React 与 DRF 打造现代化项目管理表单
前端·react.js·django·前端框架
IT_陈寒几秒前
SpringBoot这个"自动配置"差点让我加班到凌晨
前端·人工智能·后端
恋恋风尘hhh4 分钟前
文字点选验证码前端安全研究:以网易易盾(dun.163)为例
前端·安全
鹏程十八少4 分钟前
1.2026金三银四 Android Glide 23连问终极拆解:生命周期、三级缓存、Bitmap复用,大厂面试官到底想听什么?
android·前端·面试
hhhhhh_we4 分钟前
预颜美历:AI驱动的私人面部美学与皮肤全周期管理工具
前端·图像处理·人工智能·python·aigc
Cobyte5 分钟前
5.响应式系统比对:手写 React 响应式状态库 Mobx
前端·javascript·vue.js
鹓于6 分钟前
PPT VBA随机选题系统实现详解
java·前端·javascript
前端双越老师14 分钟前
OpenClaw 实战记录:前端 VS 全栈 招聘岗位分析
前端·agent·全栈
Bigger22 分钟前
第八章:我是如何剖析 Claude Code 里的“电子宠物”彩蛋的
前端·ai编程·源码阅读
Flying pigs~~30 分钟前
企业级模块化RAG项目(mysql➕redis➕milvus➕模型微调➕bm25➕fastapi➕ollama➕Prompt➕多策略选择)
人工智能·redis·mysql·docker·prompt·milvus·rag