Docker容器部署前端Vue项目【保姆级教学】
目录
一、前置条件
1. 环境:CentOS7系统(我这里是在虚拟机上搭建的)
2. 工具:Docker容器(已安装)、xshell服务器终端连接工具、xftp
3. 静态资源:Vue项目
二、部署流程
1. 对前端项目进行打包
npm run build
具体打包命令参照自己项目的package.json文件

完成后会在项目文件夹下生成dist文件

2. 创建配置文件和静态文件夹
在服务器上创建一个文件,文件夹下放html(静态资源文件)和conf文件conf下创建nginx.conf(nginx配置文件)


通过xftp将打包dist文件放入服务器中的html目录下

3. 编写nginx.conf文件
server {
listen 80;
server_name _;
root /var/www/html;
gzip on;
gzip_min_length 1k;
gzip_comp_level 9;
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
gzip_vary on;
gzip_disable "MSIE [1-6]\.";
location / {
root /usr/share/nginx/html/dist;
index index.html;
try_files $uri $uri/ /index.html;
}
# Cache-Control: max-age~@~AExpires
location ~ ^/static/(css|js|media)/ {
expires 10y;
access_log off;
}
}
配置解释:
(1) Nginx会在 /usr/share/nginx/html/dist下查找文件,这是nginx容器内的默认静态文件存放路径。
(2) index index.html 表明Nginx会查找默认的index.html文件。
(3) try_files $uri $uri/ /index.html 按照给定的顺序检查index.html文件,并返回第一个找到的index.html文件。
4. 创建nginx容器
docker run -d --name websit_nginx -p 88:80 \
-v ./conf:/etc/nginx/conf.d \
-v ./html:/usr/share/nginx/html \
nginx
注意点:
(1) -p 是端口映射 88 是服务器端口,80是nginx容器内的端口。
(2) -v 是目录挂载,这样在服务器上修改静态资源和配置文件就会同步到nginx容器当中。
(3) ./conf 和 ./html是刚刚在服务器上创建的两个文件夹(我是在这两个文件的父级文件夹下执行的run命令,所以写的相对路径,也可以写自己的完整路径)
(4) /etc/nginx/conf.d 和 /usr/share/nginx/html分别是nginx容器内存放配置文件和静态资源的位置。
(5) --name 是给容器命名,websit_nginx就是给容器起的名字。
(6) -d 是让容器在后台运行。
(7) 末尾的nginx是镜像名称。
5. 查看启动的容器
docker ps
如果出现下图所示,说明启动成功,可以通过服务器ip + 88端口号(端口映射时设置)访问部署的Vue项目了。

三、总结
从项目打包、配置nginx.conf文件、再到Docker安装Nginx、以上就是Docker部署前端Vue项目的全部内容。上面步骤都是一步步验证过的,按照流程走基本没问题。
如果有什么疑问的话可以随时留言。
如果觉得这篇文章对您有帮助的话不妨 关注 + 收藏,方便下次不迷路。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)