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设置了端口映射,不能访问的解决方案)
- docker运行tomcat服务(使用 docker部署tomcat并接入skywalking的使用)
- 服务器使用docker(使用ssh连接docker服务器的方法)
- docker和golang哪个好(使用Golang玩转Docker API的实践)
- docker的配置与使用(docker之docker-machine用法详解)
- dockernginx怎么设置容器(docker nginx + https 子域名配置详细教程)
- 2022-01-25 00:54:18
- docker 命令上传镜像到镜像仓库(Docker 制作镜像Dockerfile和commit操作)
- docker数据卷挂载和共享目录挂载区别(Docker容器中挂载NFS共享目录的实现)
- django框架教程第100讲(详解Django+Vue+Docker搭建接口测试平台实战)
- 查看docker image版本(解决docker images 镜像消失的问题)
- docker socket文件丢失(解决vscode docker插件docker.socket权限问题)
- docker指令详解(docker create命令的用法说明)
- linuxdocker启动报错提示参数无效(docker 报错 Exited 1 4 minutes ago的原因分析)
- docker创建mysql环境(docker上部署MySQL的示例)
- docker入门搭建博客(快速掌握使用Docker搭建开发环境)
- 你或许不知道你隐藏的支配欲望(你或许不知道你隐藏的支配欲望)
- 把宽体丰田86卖了,换成7.5代高尔夫GTI玩起姿态与性能并存的改装(把宽体丰田86卖了)
- 大众推出了第五代高尔夫GT(大众推出了第五代高尔夫GT)
- 换代在即,现在是抄底 7.5代 高尔夫的最佳时机吗(换代在即现在是抄底)
- 2020年大众7.5代高尔夫R终结特别版 最后的呐喊(2020年大众7.5代高尔夫R终结特别版)
- 七年前的这部剧有毒,全剧只有女主红到发紫,男主至今无人认识(七年前的这部剧有毒)
热门推荐
- docker容器镜像内容(Docker容器从镜像恢复代码的操作步骤)
- 对mysql索引的理解(详解MySQL 8.0 之不可见索引)
- docker中国加速镜像怎么设置(Docker 安装及配置镜像加速的实现)
- python中如何限制数字的个数(python 处理数字,把大于上限的数字置零实现方法)
- dedecms采集插件(dedecms 软件下载模块加入flashget快车下载代码)
- asp.net使用swfupload上传
- css特效边框流线动画(CSS 动画实现动态气泡背景的方法)
- laravel定时脚本(laravel实现按时间日期进行分组统计方法示例)
- canvas时钟代码(canvas实现烟花的示例代码)
- python数据分析删除重复值(Python3实现从排序数组中删除重复项算法分析)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9