dockerfile 部署前端vue项目

听从江野 2024-07-29 15:33:01 阅读 57

#在服务器工作目录下创建如下结构目录

conf 目录下创建nginx.conf文件 

nginx.conf 文件编写

<code>

user nginx;

worker_processes auto;

error_log /var/log/nginx/error.log notice;

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" '

'$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;

server {

listen 80;

listen [::]:80;

client_max_body_size 20m;

client_body_buffer_size 1m;

#access_log /var/log/nginx/host.access.log main;

location / {

root /usr/share/nginx/html;

index index.html index.htm;

try_files $uri $uri/ /index.html;

}

#生产环境接口反向代理配置

location /stage-api/ {

#保留代理之前的host 包含客户端真实的域名和端口号

proxy_set_header Host $http_host;

#保留代理之前的真实客户端ip

proxy_set_header X-Real-IP $remote_addr;

#这个Header和X-Real-IP类似,但它在多级代理时会包含真实客户端及中间每个代理服务器的IP

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

#表示客户端真实的协议(http还是https)

proxy_set_header X-Forwarded-Proto $scheme;

#写后端服务端口

proxy_pass http://192.168.1.164:29097/;

}

#error_page 404 /404.html;

# redirect server error pages to the static page /50x.html

#

error_page 500 502 503 504 /50x.html;

location = /50x.html {

root /usr/share/nginx/html;

}

}

}

Dockerfile 文件编写

FROM nginx

# 作者信息

MAINTAINER lxp

# 挂载目录

VOLUME /usr/share/nginx/html

# 复制conf文件到路径

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

# 复制html文件到路径

COPY ./html /usr/share/nginx/html

将VUE项目打包并且上传至服务器中html目录下

打包后文件在dist下

将dist目录下所有文件上传至html中

在docker 工作目录下运行命令

<code>docker build -t zhongbeida-nginx-test:v1 .

!!! 一定注意后面有一个点 !!!

docker 会基于dockerfile文件中得配置 对项目进行生成镜像

-t 后面是自定义得镜像名称

冒号后是自定义得镜像版本

打包镜像后  启动容器

docker run -d --name zhongbeida-font-nginx -p 28086:80 --restart always zhongbeida-nginx-test:v1

--name 后面是你要对启动得容器得命名

-p 冒号前面是你要映射得端口号

最后是上一步打包得镜像名称和版本



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。