前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker 方式 部署 vue 项目 (docker + vue + nginx)

Docker 方式 部署 vue 项目 (docker + vue + nginx)

作者头像
微风-- 轻许--
发布2022-04-13 16:11:57
4.5K1
发布2022-04-13 16:11:57
举报
文章被收录于专栏:java 微风java 微风

1.安装好 nginx 。

2. 把 vue 项目的源码克隆到确定目录下。用 git 管理,所以直接 git clone 到既定目录就行了。

如我的目录是:/root/jiangyu/projects/gentle_vue/gentle_vue_code 。

3. 项目打包:

代码语言:javascript
复制
 npm run build 

会自动生成 dist 文件夹 。

4. 在任意目录下新建文件 dockerfile 。内容如下:

代码语言:javascript
复制
# 设置基础镜像
FROM nginx
# 定义作者
MAINTAINER jiangyu
# 将dist文件中的内容复制到 /usr/share/nginx/html/ 这个目录下面
COPY dist/  /usr/share/nginx/html/

5. 构建镜像:

代码语言:javascript
复制
# -t 是给镜像取名。
# 最后有一个点 “.”,表示使用当前路径下的 dockerfile 文件,也可以指定使用其它路径的。
docker build -t gentle-vue . 

查看新生成的镜像:

代码语言:javascript
复制
docker images

6.启动容器:

代码语言:javascript
复制
# -p :配置端口映射,格式是外部访问端口:容器内端口
# -d :后台运行  
# --name : 给容器取名
# 最后有 2 个 gentle-vue,前面一个是给容器取的名字,后面一个是使用的镜像的名字
 docker run -p 3000:80 -d --name gentle-vue gentle-vue

查看是否运行成功:

7. 浏览器访问:http://服务器IP:3000/#/

这就是我项目的测试页面。 OK 了。

--------------------------

2018.11.28 后记:

每次修改都要重新 部署太麻烦 ,于是写了个很简单的脚本,运行就部署:

脚本内容只是把以上命令整合到一起执行:

代码语言:javascript
复制
# 备份原代码
tar -zcvf gentle-vue.tar ./gentle-vue

# 删除原代码文件夹
rm -rf gentle-vue

# 拉取代码
git clone https://gitee.com/FJ_WoMenDeShiJie/gentle-vue.git
echo -e "\033[32m\n代码拉取\n\033[0m"

# 拷贝 node_modules
cp ./node.tar ./gentle-vue

# build 打包 vue 项目,生成 dist 文件夹
cd ./gentle-vue
tar -zxvf node.tar
npm run build
echo -e "\033[32m\nvue项目打包完成\n\033[0m"

# 删除原镜像
docker rmi gentle-vue &> /dev/null
echo  -e "\033[32m\n删除原镜像文件\n\033[0m"

# 拷贝 dockerfile 到工程目录下
cp ../dockerfile ./

# 构建镜像
docker build -t gentle-vue .
echo -e "\033[32m\n新镜像构建成功\n\033[0m"

# 删除原容器
docker rm -f gentle-vue

# 启动容器
docker run -p 3000:80 -d --name gentle-vue gentle-vue
echo -e "\033[32m\n前端工程部署完成\n\033[0m"

这样部署就方便多了。

另后端工程部署方式见:Docker 部署应用、jar 工程 docker 方式部署

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-11-27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档