Docker部署前端项目

项目结构

在这里插入图片描述

1. 配置nginx.conf

server {

    listen 80;
    listen [::]:80;

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

    location / {
        root /usr/share/nginx/html;
        index index.html index.htm;

        # 解决部分前端框架的路由问题,在浏览器刷新报错404
        try_files $uri $uri/ /index.html;
    }

    error_page 500 502 503 504 /50x.html;

    location = /50x.html {
        root /usr/share/nginx/html;
    }

}

2. 配置Dockerfile

# 第一阶段:node镜像打包
FROM node:latest as build
# WORKDIR /app web项目目录
COPY . .
RUN npm install
RUN npm run build

# 第二阶段:nginx打包
FROM nginx:1.25.3-alpine
EXPOSE 80

# 替换nginx配置
RUN rm /etc/nginx/conf.d/default.conf
COPY nginx/nginx.conf /etc/nginx/conf.d/default.conf

# 将第一阶段的静态文件复制到nginx中
RUN rm -rf /usr/share/nginx/html
RUN mkdir /usr/share/nginx/html
COPY --from=build /dist /usr/share/nginx/html

# 运行
CMD ["nginx", "-g", "daemon off;"]

3.构建Docker image

docker build -t my-app:dev .

4.运行容器

4.1基于my-app运行容器
docker run -itd --name myApp -p 6261:80 my-app
4.2基于docker-compose.yml运行容器
  • 新建docker-compose.yml
version: '3.7'

services:
	my-app:
		image: my-app:dev 
		container_name: my-app
		ports:
		- '6261:80'
  • 运行docker-compose up -d

5.访问6261端口

在这里插入图片描述

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值