docker部署vue项目的实现步骤

 更新时间:2022年07月15日 10:54:08   作者:邹邹很busy。  
当我们在本地开发了一个vue项目之后,肯定是想部署到服务器上供其他人访问,本文主要介绍了docker部署vue项目的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

前戏

当我们在本地开发了一个vue项目之后,肯定是想部署到服务器上供其他人访问,之前介绍过使用cntos7+nginx部署项目,今天让我们来使用docker来部署我们的前端项目,首先你已经安装好了docker,并熟悉基本的docker命令。

部署

获取nginx镜像

docker pull nginx

创建 nginx config配置文件

在项目根目录下创建文件default.conf,写入如下内容

server {
    listen       80;
    server_name  localhost; # 修改为docker服务宿主机的ip

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
        try_files $uri $uri/ /index.html =404;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
}

该配置文件定义了首页的指向为/usr/share/nginx/html/index.html, 所以我们可以一会把构建出来的index.html文件和相关的静态资源放到/usr/share/nginx/html目录下。

创建Dockerfile文件

在项目根目录下创建Dockerfile文件,写入下面内容

FROM nginx

MAINTAINER zouzou

RUN rm /etc/nginx/conf.d/default.conf

ADD default.conf /etc/nginx/conf.d/

COPY dist/ /usr/share/nginx/html/

说明

  • FROM nginx:该镜像是基于nginx:latest镜像构建的
  • MAINTAINER zouzou:添加说明
  • RUN rm /etc/nginx/conf.d/default.conf:删除目录下的default.conf文件
  • ADD default.conf /etc/nginx/conf.d/:将default.conf复制到/etc/nginx/conf.d/下,用本地的default.conf配置来替换nginx镜像里的默认配置
  • COPY dist/ /usr/share/nginx/html/:将项目根目录下dist文件夹(构建之后才会生成)下的所有文件复制到镜像/usr/share/nginx/html/目录下

生成生成环境包

首先确保安装了node.js,npm可用

在项目根目录下执行下面命令(和package.json文件同级)

安装依赖

npm install

构建

npm run build

执行结束之后会在项目根目录下生成一个dist的文件夹

构建docker镜像

docker build -t zz-mms .

注意不要少了最后的“.”(点)

-t是给镜像命名,.(点)是基于当前目录的Dockerfile来构建镜像

查看本地镜像

docker images | grep zz-mms

到这里我们的vue应用镜像已经创建成功,接下来,我们基于该镜像启动一个docker容器

启动docker容器

docker run -d -p 9090:80 --name mms zz-mms

  • docker run:基于镜像启动一个容器
  • -d:后台方式启动
  • -p 9090:80: 端口映射,将宿主机的9090端口映射到容器的80端口
  • --name:容器名,我起的叫mms
  • zz-mms:要启动的镜像名称

查看启动的容器

docker ps

访问

现在我们已经启动了,访问宿主机的地址:9090就可以看到我们部署的网站了

跨域

如果你的后端接口是在别的服务器上部署的,这时候我们的default.conf就要加一个反向代理,使用下面的default.conf,然后重新构建docker镜像,启动

server {
    listen       80;
    server_name   49.235.160.132; # 修改为docker服务宿主机的ip

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
        try_files $uri $uri/ /index.html =404;
    }
    location /pro-api{ # pro-api是vue项目里.env.production里的地址
    proxy_pass 1.1.1.1;  # 这里写的是你后端接口的地址
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
}

到此这篇关于docker部署vue项目的实现步骤的文章就介绍到这了,更多相关docker部署vue内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Docker实现进入容器内部的方法

    Docker实现进入容器内部的方法

    这篇文章主要介绍了Docker实现进入容器内部的方法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • docker容器内网络请求缓慢问题解决

    docker容器内网络请求缓慢问题解决

    在使用docker的过程中发现了几个问题,在docker里进行的网络请求经常会失败,这篇文章主要介绍了docker容器内网络请求缓慢问题解决
    2019-01-01
  • docker部署可执行jar包的思路与完整步骤

    docker部署可执行jar包的思路与完整步骤

    对于springboot项目运行,直接是java -jar的方式运行,如果想要放到docker中运行,可以参考本文,下面这篇文章主要给大家介绍了关于docker部署可执行jar包的思路与完整步骤,需要的朋友可以参考下
    2022-07-07
  • 使用docker-compose,如何调整JVM参数

    使用docker-compose,如何调整JVM参数

    这篇文章主要介绍了使用docker-compose,如何调整JVM参数问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • 如何快速清理 docker 资源的方法

    如何快速清理 docker 资源的方法

    这篇文章主要介绍了如何快速清理 docker 资源,具体点说就是删除那些无用的 镜像、容器、网络和数据卷,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • Docker网段和内网网段ip冲突导致无法访问网络的两种解决方法

    Docker网段和内网网段ip冲突导致无法访问网络的两种解决方法

    本文主要介绍了Docker网段和内网网段冲突导致无法访问网络的两种解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • docker中查看日志的几种常见方式

    docker中查看日志的几种常见方式

    这篇文章主要给大家介绍了关于docker中查看日志的几种常见方式,Docker提供一些方式来查看容器的日志,文中将每种方法都给出了代码示例,需要的朋友可以参考下
    2023-08-08
  • docker创建mongodb容器存储数据步骤详解

    docker创建mongodb容器存储数据步骤详解

    这篇文章主要为大家介绍了docker创建mongodb容器存储数据步骤详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • Docker 部署Django项目的方法示例

    Docker 部署Django项目的方法示例

    这篇文章主要介绍了Docker 部署Django项目的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • Docker搭建svn的方法步骤

    Docker搭建svn的方法步骤

    本文主要介绍了Docker搭建svn的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01

最新评论