docker下安装nginx,部署vue项目

本文详细介绍使用Docker部署Vue项目的全过程,包括拉取镜像、配置文件映射、容器管理及前端API配置等关键步骤。

1、进入目录/usr/,pull拉取安装,安装好查看镜像,如下图

 2、运行nginx镜像

docker run -d --name nginx -p 80:80 -p 443:443 nginx:latest

 3、复制nginx配置文件到主机目录,为文件映射做准备 

docker cp nginx:/etc/nginx/nginx.conf /usr/nginx/
docker cp nginx:/etc/nginx/conf.d /usr/nginx/conf/
docker cp nginx:/usr/share/nginx/html /usr/nginx/html
docker cp nginx:/var/log/nginx/ /usr/nginx/logs/

对于如下错误,需实现创建好对应的目录文件夹,到nginx这一层即可

命令执行后生成的目录结构如下图

 4、删除已经运行的nginx容器

docker rm -f 0456f19239b26d9223c2f52415ca8958cbedc701cba8a698c3a31afcc031f9ca

5、挂载目录,重新启动容器(映射相应的目录文件)

docker run -d  --name nginx -p 8021:80 -p 443:443 -v /usr/nginx/nginx.conf:/etc/nginx/nginx.conf -v /usr/nginx/logs:/var/log/nginx -v /usr/nginx/html:/usr/share/nginx/html -v /usr/nginx/conf:/etc/nginx/conf.d --privileged=true     -e TZ=Asia/Shanghai nginx:latest

6、把vue项目build之后的dist目录下所有文件上传至宿主服务器/usr/nginx/html下即可

7、进入目录:/usr/nginx/conf/,更改default.conf配置文件配置后端api接口地址

 

8、重启nginx容器,浏览器输入地址访问

http://192.168.10.100:8021/

参考:

docker 安装 nginx 发布Vue项目_苍穹之跃的博客-优快云博客

vue项目的docker部署_vue docker_小黄瓜要编程的博客-优快云博客

https://blog.51cto.com/u_14020077/5836696

### 3.1 创建 Dockerfile 配置 Nginx 部署 Vue 项目 要使用 Docker 配置 Nginx部署 Vue 项目,可以创建一个自定义的 `Dockerfile` 文件,并基于官方的 Nginx 镜像进行扩展。以下是完整的配置步骤: ```dockerfile # 使用 nginx 官方镜像作为基础镜像 FROM nginx # 标注作者信息 MAINTAINER samxie # 删除默认的 Nginx 配置文件 RUN rm /etc/nginx/conf.d/default.conf # 添加自定义的 default.conf 到容器中 ADD default.conf /etc/nginx/conf.d/ # 将打包好的 Vue 项目 dist 目录内容复制到 Nginx 的 HTML 根目录下 COPY dist/ /usr/share/nginx/html/ ``` 通过上述配置,构建出一个包含 Vue 项目Docker 镜像,并运行该镜像即可完成部署。 --- ### 3.2 构建和运行 Docker 镜像 在完成 `Dockerfile` 编写后,需要进入包含 `dist` 文件夹和 `default.conf` 的目录,然后执行以下命令来构建镜像: ```bash docker build -t vue-xsp . ``` 构建完成后,启动容器并映射端口(例如将宿主机的 8088 端口映射到容器的 80 端口): ```bash docker run -d --name vue-xsp-run -p 8088:80 vue-xsp ``` 此时可以通过访问服务器的 IP 地址和指定端口(如 `http://your_server_ip:8088`)来访问 Vue 项目[^1]。 --- ### 3.3 挂载 Nginx 配置文件部署 Vue 项目 另一种方式是直接挂载本地的 Nginx 配置文件和 Vue 打包后的静态资源目录。例如,使用 `-v` 参数将宿主机的 `dist` 文件夹和 `nginx.conf` 映射到容器内部路径: ```bash docker run -d \ -v /usr/local/data/web2-dist/dist:/usr/share/nginx/html \ -v /usr/local/data/web2/nginx.conf:/etc/nginx/nginx.conf \ -p 8999:80 \ --name project-test \ nginx ``` 此方法避免了每次修改配置或更新代码时重新构建镜像的过程,提高了部署效率[^3]。 --- ### 3.4 复制原始 Nginx 配置并定制化部署 如果希望对 Nginx 配置进行更精细的控制,可以先运行一个临时的 Nginx 容器,并从容器中拷贝原始配置文件进行修改: ```bash docker run -p 80:80 --name nginx -d nginx:1.18.0 docker cp nginx:/etc/nginx /root/docker/ mv /root/docker/nginx /root/docker/conf mkdir /root/docker/nginx/logs docker stop nginx docker rm nginx ``` 随后创建新的容器并挂载自定义配置、日志和静态资源目录: ```bash docker run --net=host --name nginx --restart=always --privileged=true \ -v /root/xyd/docker/nginx/html:/usr/share/nginx/html \ -v /root/xyd/docker/nginx/logs:/var/log/nginx \ -v /root/xyd/docker/nginx/conf:/etc/nginx \ -d nginx:1.18.0 ``` 这样可以在不破坏原有环境的前提下实现灵活部署[^4]。 --- ### 3.5 使用相对路径挂载并运行容器 此外,也可以使用当前目录下的路径进行挂载,例如将 `html/dist` 挂载为 `/home/nginx/vue`,并将日志和配置文件也映射到对应位置: ```bash 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 ``` 这种方法适合开发测试阶段快速迭代,同时也便于维护和调试[^5]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值