vue打包项目通过docker部署nginx服务

一、构建前端代码

npm install

nmp run build

确认自己的打包路径,默认是dist,这里也可以修改。

二、将打包的项目使用dockerfile构建

dockerfile

将dist文件复制到nginx的指定的路径,前端界面的路径,还需要两个conf文件

FROM nginx:latest

COPY dist/ /usr/share/nginx/html

COPY ./nginx/nginx.conf /etc/nginx/nginx.conf

COPY ./nginx/private/default.conf /etc/nginx/conf.d/default.conf

ENTRYPOINT nginx -g "daemon off;"

nginx.conf

user  nginx;
worker_processes  1;
 
error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;
 
 
events {
    worker_connections  1024;
}
 
 
http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
 
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" "$request_body"'
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
 
    access_log  /var/log/nginx/access.log  main;
 
    sendfile        on;
    #tcp_nopush     on;
 
    keepalive_timeout  65;
 
    gzip  on;
 
    include /etc/nginx/conf.d/*.conf;
}

default.conf    

 注意:这里的listen的端口需要根据实际情况监听,例如本地前端项目启动的端口是5173,这里就需要写5173!!!

server {
    listen       5173;
    server_name  localhost;
    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;
    gzip_static on;
    gzip on;
    gzip_min_length 1k;
    gzip_comp_level 3;
    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 application/vnd.ms-fontobject font/ttf font/opentype font/x-woff image/svg+xml;
    gzip_vary on;
    gzip_disable "MSIE [1-6]\.";
    gzip_buffers 32 4k;
    fastcgi_intercept_errors on;
    server_tokens off;
    client_max_body_size 102400m;
 
    resolver 114.114.114.114 8.8.8.8 valid=120s;
    set $sentry router.anban.cloud;
 
    location / {
        add_header Cache-Control no-cache;
        root   /usr/share/nginx/html;
        index  index.html index.htm;
        try_files $uri /index.html;
    }
 
    error_page  403 404 408 500 501 502 503 504 507 /index.html;
 
    
}   

在根目录构建镜像:

docker build -t 127.0.0.1:8389/zskj/smart-tourism/frontend:main-6a43ba08b2f39200ba0a688182a352d46a6f26ba -f ./Dockerfile .

然后在docker-compose里面直接使用该镜像

三、docker-compose启动服务

注意这里的端口和default.conf的端口一致。

version: "3"
services:
  smart-tourism-frontend-dev:
    container_name: smart-tourism-frontend-con
    restart: always
    image: 127.0.0.1:8389/zskj/smart-tourism/frontend:main-6a43ba08b2f39200ba0a688182a352d46a6f26ba
    ports:
      - "5173:5173"
    environment:
      TZ: Asia/Shanghai
    networks:
      - docker-common-net
networks:
  docker-common-net:
    external: true

然后直接启动:docker-compose up -d

最后直接访问: http://localhost:5173/login 部署成功!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值