Docker镜像+nginx 部署 vue 项目的方法

 更新时间:2020年10月03日 11:23:43   作者:guo&qi  
这篇文章主要介绍了Docker镜像+nginx 部署 vue 项目的方法,帮助大家更好的使用docke镜像,感兴趣的朋友可以了解下

一、打包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项目的资料请关注脚本之家其它相关文章!

相关文章

  • 使用Dockerfile实现容器内部服务随容器自启动的方法

    使用Dockerfile实现容器内部服务随容器自启动的方法

    这篇文章主要介绍了使用Dockerfile实现容器内部服务随容器自启动,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • 详解Docker基于已有的镜像制新的镜像

    详解Docker基于已有的镜像制新的镜像

    本篇文章主要介绍了Docker基于已有的镜像制新的镜像,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • 使用docker部署django技术栈项目的方法步骤

    使用docker部署django技术栈项目的方法步骤

    这篇文章主要介绍了使用docker部署django技术栈项目的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • docker-compose部署mysql数据库完整步骤

    docker-compose部署mysql数据库完整步骤

    Docker-Compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排,这篇文章主要给大家介绍了关于docker-compose部署mysql数据库的完整步骤,需要的朋友可以参考下
    2024-05-05
  • Docker Swarm从部署到基本操作

    Docker Swarm从部署到基本操作

    这篇文章主要介绍了Docker Swarm从部署到基本操作,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • Docker Desktop 安装使用教程(图文步骤)

    Docker Desktop 安装使用教程(图文步骤)

    Docker是一种打包和运行应用程序的新方式. Docker Desktop是 Docker的Windows桌面版本,本文主要介绍了Docker Desktop安装使用教程,感兴趣的可以了解一下
    2024-02-02
  • 浅析SpringBoot打包上传到docker并实现多实例部署(IDEA版)

    浅析SpringBoot打包上传到docker并实现多实例部署(IDEA版)

    这篇文章主要介绍了SpringBoot打包上传到docker并实现多实例部署(IDEA版),本文通过图文并茂实例详解的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • docker私有仓库的镜像删除方式

    docker私有仓库的镜像删除方式

    该文章介绍了如何使用Docker私有仓库删除镜像的步骤,包括获取Token、请求镜像列表和删除镜像的具体操作,同时,还解决了在删除镜像时遇到的MANIFEST_UNKNOWN错误,并提供了相应的解决办法
    2025-02-02
  • 在Linux系统中安装Docker的过程

    在Linux系统中安装Docker的过程

    这篇文章主要介绍了如何在Linux系统中安装Docker,其实安装docker真的很简单,只需要几条命令就可以完成了,本文给大家介绍的非常详细,需要的朋友可以参考下
    2021-12-12
  • docker部署nginx下日志自动切割方法实现

    docker部署nginx下日志自动切割方法实现

    部署Nginx在Docker中时,其日志文件默认不会自动切割,与非Docker环境有所不同,本文介绍了三种日志切割方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-10-10

最新评论