Docker使用nginx部署VUE项目

这篇具有很好参考价值的文章主要介绍了Docker使用nginx部署VUE项目。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、安装Docker和一些基本Docker命令

二、打包VUE项目

三、写nginx配置文件

四、写Dockerfile文件

五、构建镜像

六、运行容器

七、挂载目录

八、使用docker-compose部署项目

总结


一、安装Docker和一些基本Docker命令

安装略,基本指令如下:

# 构建镜像,test为镜像名,v1为版本号,“.”不可省略,代表当前文件夹下
docker build -t test:v1 .

# 运行容器,-d 后台运行,-p 映射容器内端口到宿主机,--name 容器名字:版本号
docker run -d -p 8080:80 --name test-hello test:v1 

docker ps  # 查看当前运行中的容器

docker images  # 查看镜像列表

docker rm container-id  # 删除指定 id 的容器

docker stop/start container-id  # 停止/启动指定 id 的容器

docker rmi image-id  # 删除指定 id 的镜像

docker volume ls  # 查看 volume 列表

docker network ls  # 查看网络列表

二、打包VUE项目

vue项目根目录进入终端输入npm run build打包项目,在项目根目录会生成一个dist文件夹,复制整个文件夹到一个新的工作文件夹(我命名为nginx,可以用其他方式命名)中的html下,目录结构如下:

└─nginx
    ├─conf.d
    ├─html
    │  └─dist
    └─logs

三、写nginx配置文件

nginx的配置文件有/etc/nginx/nginx.conf和/etc/nginx/conf.d/default.conf两个文件,此处修改default.conf即可,文件如下:

server {
    listen       80;  #  nginx对外暴露的端口
    server_name  localhost;  # 此处为docker服务宿主机的ip
 
    location / {
        root   /home/nginx/vue;  # 选择nginx工作目录
        index  index.html;
        try_files $uri $uri/ /index.html;
    }
 
    location /api/ {
        proxy_pass http://localhost:8080;  # nginx代理的端口
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

 该文件放在nginx文件夹中的conf.d中。

四、写Dockerfile文件

文件如下:

# 基础镜像 不指定版本则默认最新
FROM nginx

# 创建目录
RUN mkdir -p /home/nginx/vue
# 指定工作路径
WORKDIR /home/nginx/vue

COPY ./conf.d/default.conf /etc/nginx/conf.d/
COPY ./html/dist /home/nginx/vue

该文件放在nginx文件夹目录下。

五、构建镜像

目前文件结构如下:

└─nginx
    ├─conf.d
    │  └─default.conf
    ├─html
    │  └─dist
    ├─logs
    └─Dockerfile

在nginx目录下打开终端输入docker build -t test:v1 .开始构建镜像,显示如下构建完成:

docker nginx 部署vue,vue.js,docker,nginx,容器

 可以用docker images命令查看镜像。

六、运行容器

终端下继续输入docker run -d -p 8080:80 --name vue_test my-vue:v1运行容器,显示如下:

docker nginx 部署vue,vue.js,docker,nginx,容器

 此时在浏览器输入http://localhost:8080即可进入项目,vue部署成功。

七、挂载目录

终端下继续输入以下命令运行容器

docker run -d -v $PWD/html/dist:/home/nginx/vue -v $PWD/logs:/var/log/nginx -v $PWD/conf.d:/etc/nginx/conf.d -p 8080:80 --name vue_test my-vue:v1

运行过程和上面一样,但是此时,项目中的文件由本地挂载上去,修改里面的文件即可生效,不用反复部署。

八、使用docker-compose部署项目

在nginx同级目录下创建一个docker-compose.yml文件,如下:

version : '3.3'
services:
  vue-nginx:
    container_name: vue_test
    image: my-vue:v1
    build:
      context: ./nginx
    ports:
      - "8080:80"
    volumes:
      - ./nginx/html/dist:/home/nginx/vue
      - ./nginx/logs:/var/log/nginx
      - ./nginx/conf.d:/etc/nginx/conf.d
    restart: always

在终端中输入docker compose up -d即可运行,显示如下:

docker nginx 部署vue,vue.js,docker,nginx,容器

 可以用docker compose ps命令查看运行的容器。


总结

本文主要记录了用docker部署vue项目的过程,使用docker和docker-compose两种部署方法,部署难度主要在于理解nginx的配置文件和Dockerfile文件的编写文章来源地址https://www.toymoban.com/news/detail-723976.html

到了这里,关于Docker使用nginx部署VUE项目的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 【Docker】docker部署springboot+vue+mysql+nginx前后端分离项目【部署实战篇】

    【Docker】docker部署springboot+vue+mysql+nginx前后端分离项目【部署实战篇】

    安装docker: https://blog.csdn.net/qq_39900031/article/details/121666892 springboot-vue前后端分离项目:https://gitee.com/ma-haojie/springboot-vue-demo.git https://jackwei.blog.csdn.net/article/details/110227719 或者 --restart=always 参数能够使我们 在重启docker时,自动启动相关容器 。 Docker容器的重启策略如下: no,默认

    2024年02月13日
    浏览(13)
  • docker使用nginx部署vue刷新页面404

    docker使用nginx部署vue刷新页面404

    从docker内部复制出来的配置文件是这样的,但是刷新页面之后就显示404,关键是我两个前端项目都是用的这一个配置文件,但是只有一个项目出现刷新浏览器显示404的问题,这给我搞懵了!!! 在网上查找问题原因和解决办法,但是大多数都说是资源找不到,让修改配置文件

    2024年01月18日
    浏览(16)
  • lua使用resty.http做nginx反向代理(https请求,docker容器化部署集群),一个域名多项目转发

    lua使用resty.http做nginx反向代理(https请求,docker容器化部署集群),一个域名多项目转发

    下载使用 链接:https://pan.baidu.com/s/1uQ7yCzQsPWsF6xavFTpbZg 提取码:htay –来自百度网盘超级会员V5的分享 ad_load.lua文件

    2024年01月18日
    浏览(20)
  • 【Docker】安装Nginx容器并部署前后端分离项目

    【Docker】安装Nginx容器并部署前后端分离项目

    🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是Java方文山,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的专栏《Docker实战》。🎯🎯 👉点击这里,就可以查看我的主页啦!👇👇 Java方文山的个人主页 🎁如果感觉还不错的话请给我点赞吧!🎁🎁 💖期待你的加入,一起

    2024年01月23日
    浏览(36)
  • Docker容器部署前端Vue服务——手把手教学

    Docker容器部署前端Vue服务——手把手教学

    需要工具: Xftp Xshell   首先对前端项目进行打包:npm run build   打包完成 ​ 在项目中生成dist文件: 通过Xshell在/home目录下创建项目文件夹 通过Xftp将打包的dist文件上传到服务器的项目文件夹下; 利用Xshell在拉取nginx镜像 在项目文件夹下编写nginx config配置文件 default.conf内容

    2024年02月07日
    浏览(12)
  • nginx部署vue项目,给访问路径加前缀的方法:vue.config.js配置publicPath和nginx配置alias

    本文主要涉及到 Vue.js 项目部署在 Nginx 上的相关问题。其中,publicPath 选项可以用于设置 Vue.js 项目的访问路径前缀,alias 指令可以用于 Nginx 中将请求路径映射到指定的文件系统路径。同时,通过设置 Nginx 配置文件,可以将多个 Vue.js 项目部署在同一个域名下的不同路径中。

    2024年02月16日
    浏览(9)
  • 04.使用 github actions+docker 自动部署前后端分离项目 zhontai (.net core+vue)

    04.使用 github actions+docker 自动部署前后端分离项目 zhontai (.net core+vue)

    Github Actions是什么?是 GitHub 提供的一种持续集成/持续部署(CI/CD)工作流程自动化服务,助力项目的自动化构建、测试和部署。 依托于平台,本文将分享使用 GitHub Actions 完成对一个.Net Core+Vue 的前后端分离项目 zhontai 的构建,并使用 docker 部署到云服务器(阿里云) 经过一番尝

    2024年02月11日
    浏览(14)
  • docker 部署Vue项目

    docker 部署Vue项目

    这种发布方式每次都要重新构建镜像,发布起来很不方便。博主还提供了另一种方式,每次发布只需要将打包后的dist内容放到linux主机目录即可,感兴趣的道友可以直接参考这一篇: docker 安装 nginx 发布Vue项目_苍穹之跃的博客-CSDN博客 nginx配置文件、html文件、logs日志文件。

    2023年04月20日
    浏览(8)
  • vue项目的docker部署

    vue项目的docker部署

    很久没有接触前端了,最近需要发布一个前端小项目,好不犹豫的选择了docker,方便啊!(其实原始nginx也很方便) 下面记录一下: 开发环境vscode 发布环境 centos7 项目工程结构 我们需要一个dockerfile文件,一个nginx的配置文件 dockerfile文件配置内容如下,我们以一个nginx镜像为

    2023年04月14日
    浏览(6)
  • 企业部署,springboot+vue+vue,Linux上部署mysql与redis,docker中部署nginx,jenkins。完整详细。

    企业部署,springboot+vue+vue,Linux上部署mysql与redis,docker中部署nginx,jenkins。完整详细。

    涉及:Linux服务器,docker,Jenkins,nginx,springoot,vue,mysql,redis,git, docker生成容器类型: MySql , Redis ,Jenkins,Nginx,项目存放的容器。 注: !!!!!!!!!!!数据库不要存放在Docker中,而且存放会在使用时会有问题。!!!!!!!!!! 存放 mysql 时、发现其账

    2024年02月07日
    浏览(11)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包