dockernginx服务器教程(Docker镜像+nginx 部署 vue 项目的方法)
dockernginx服务器教程
Docker镜像+nginx 部署 vue 项目的方法一、打包vue项目
在开发完的vue项目输入如下命名,打包生成dist文件夹
yarn build / npm run build
此时根目录会多出一个文件夹:dist文件夹,里面就是我们要发布的东西。
如果将该dist目录整个传到服务器上,部署成静态资源站点就能直接访问到该项目。
二、获取nginx 镜像
nginx 是一个高性能的HTTP和反向代理服务器,此处我们选用 nginx 镜像作为基础来构建我们的vue应用镜像。
在终端输入:
docker pull nginx
即可以获取到nginx镜像。
Docker镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。 镜像不包含任何动态数据,其内容在构建之后也不会被改变。
在终端输入如下命令,可以看到nginx的镜像
docker image ls
镜像结果如下所示:
三、创建 nginx config配置文件
在项目根目录下创建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; try_files $uri $uri/ /index.html; } #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; } }
注意⚠️:如果vue-router使用的是history模式,try_files $uri $uri/ /index.html; 非常重要!!!
因为我们的应用是单页客户端应用,如果后台没有正确的配置,当用户在浏览器访问地址时,就会返回404。
所以需要在服务端增加一个覆盖所有情况的候选资源,如果URL匹配不到任何静态资源,则应该返回同一个index.html页面,这个页面就是你app依赖的页面。
上面的文件定义了首页的指向为 /usr/share/nginx/html/index.html, 所以我们可以一会把构建出来的index.html文件和相关的静态资源放到/usr/share/nginx/html目录下。
四、创建 Dockerfile 文件
# 设置基础镜像 FROM nginx # 定义作者 MAINTAINER lihui <1107136746@qq.com> # 将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构建vue应用镜像
运行如下命令,注意不要少了最后的“ . ”
docker build -t test .
-t 是给镜像命名 ,test是生成镜像的名字,. 是基于当前目录的Dockerfile来构建镜像。
基于vue的镜像就生成好了!
以上就是Docker镜像+nginx 部署 vue 项目的方法的详细内容,更多关于docker部署vue项目的资料请关注开心学习网其它相关文章!
- docker指定基础镜像命令(Docker重命名镜像名称和TAG操作)
- docker前端项目(Docker部署Nuxt.js项目的实现)
- docker部署go项目(Gogs+Jenkins+Docker 自动化部署.NetCore的方法步骤)
- dockertomcat多开实例(Docker tomcat的设置内存大小配置方式)
- docker 退出容器详解(Docker 使用nsenter工具进入容器的操作)
- docker和k8s怎么部署(在docker中部署k8s的方法)
- docker 无法启动(Docker 常见问题解决)
- docker端口配置(docker 无法释放端口的解决方案)
- docker服务部署网络要求(docker部署LNMP架构的方法)
- dockerswarm网络模式(详解Docker Swarm概念与用法)
- springboot与docker(详解SpringBoot项目docker环境运行时无限重启问题)
- docker给镜像加名称(Alpine Docker镜像字体的问题解决操作)
- docker管理脚本(Docker可视化ui管理工具Portainer安装及使用解析)
- docker容器卡死(Docker容器不识别宋体等字体的解决方案)
- python配合docker(Docker构建python Flask+ nginx+uwsgi容器)
- docker配置阿里云镜像(Docker镜像的制作,上传,拉取和部署操作利用阿里云)
- 新一小兰领衔 盘点动漫中的那些 远距离恋爱情侣(盘点动漫中的那些)
- 大事件 合肥四中火了(大事件合肥四中火了)
- 翼龙贷组织出借人调研 感受鄱阳 借 来的致富路(翼龙贷组织出借人调研)
- 2023新国风戏曲教育寒假集训班汇报演出《戏娃闹元宵》图文报道(2023新国风戏曲教育寒假集训班汇报演出戏娃闹元宵图文报道)
- 九儿《狐踪谍影》出演热血女特警,戏份杀青受关注(九儿狐踪谍影出演热血女特警)
- 红色代表什么(红色代表什么寓意)
热门推荐
- dedecms标签调用大全(织梦cms图集{dede:field name='imgurls'}显示栏目名称)
- mysql开启事务没有提交(MySQL 事务autocommit自动提交操作)
- ubuntu下vscode的使用教程(Vscode远程连接Ubuntu出错问题的解决方法)
- dedecms栏目列表(dedecms子栏目中调用其顶级栏目名称和简介的方法)
- python操作sql server数据库(Python 数据库操作 SQLAlchemy的示例代码)
- php数据库怎么获得表单(php如何把表单内容提交到数据库)
- oracle和mysql查询所有表(Oracle、MySQL和SqlServe三种数据库分页查询语句的区别介绍)
- python的4种数字变量(Python将字符串常量转化为变量方法总结)
- sqlserver小结(基于sqlserver的四种分页方式总结)
- python爬虫第一本书(我用Python抓取了7000 多本电子书案例详解)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9