小知识: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目录下。

%小知识:docker部署vue项目的实现步骤-猿站网-插图

创建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/目录下

%小知识:docker部署vue项目的实现步骤-1猿站网-插图

生成生成环境包

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

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

安装依赖

npm install

构建

npm run build

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

%小知识:docker部署vue项目的实现步骤-2猿站网-插图

构建docker镜像

docker build -t zz-mms .

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

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

%小知识:docker部署vue项目的实现步骤-3猿站网-插图

查看本地镜像

docker images | grep zz-mms

%小知识:docker部署vue项目的实现步骤-4猿站网-插图

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

启动docker容器

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

%小知识:docker部署vue项目的实现步骤-5猿站网-插图

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

查看启动的容器

docker ps

%小知识:docker部署vue项目的实现步骤-6猿站网-插图

访问

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

%小知识:docker部署vue项目的实现步骤-7猿站网-插图

跨域

如果你的后端接口是在别的服务器上部署的,这时候我们的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项目的实现步骤-8猿站网-插图

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

原文地址:https://www.cnblogs.com/zouzou-busy/p/11838524.html

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:LTE是什么意思

2023-3-4 14:54:23

建站知识

小知识:Windows Server 2016中文版安装docker的详细步骤

2023-3-4 15:00:21

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索