docker部署vue项目的实现步骤
目录
- 前戏
- 部署
- 获取nginx镜像
- 创建 nginx config配置文件
- 创建Dockerfile文件
- 生成生成环境包
- 构建docker镜像
- 查看本地镜像
- 启动docker容器
- 访问
- 跨域
前戏
当我们在本地开发了一个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;
}
}

上一篇:linux服务器安装SonarQube代码检测工具的详细步骤
栏 目:其它服务器
本文标题:docker部署vue项目的实现步骤
本文地址:https://zz.feitang.co/server/31107.html
您可能感兴趣的文章
- 02-02hadoop动态增加和删除节点方法介绍
- 02-02干货 | Linux新手入门好书推荐
- 02-02linux系统下MongoDB单节点安装教程
- 02-02Linux下nginx生成日志自动切割的实现方法
- 02-02Centos 6中编译配置httpd2.4的多种方法详解
- 02-02CentOS7 下安装telnet服务的实现方法
- 02-02分布式Hibernate search详解
- 02-02Hadoop对文本文件的快速全局排序实现方法及分析
- 02-02CentOS6.3添加nginx系统服务的实例详解
- 02-02Hadoop编程基于MR程序实现倒排索引示例


阅读排行
推荐教程
- 12-07一文教你怎么选择Tomcat对应的JDK版本
- 12-07解决tomcat启动报错:一个或多个listeners启动失败问题
- 12-07Tomcat启动报错:严重: Unable to process Jar entry [m
- 12-07Tomcat配置IPV6的实现步骤
- 12-07tomcat启动报错jar not loaded的问题
- 12-11docker存储目录迁移示例教程
- 01-07windows server 2008安装配置DNS服务器
- 12-07Tomcat部署war包并成功访问网页详细图文教程
- 12-15Docker-Compose搭建Spark集群的实现方法
- 12-19Zabbix SAML SSO 登录绕过漏洞的操作流程




