惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

PCI Perspectives
PCI Perspectives
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
C
CXSECURITY Database RSS Feed - CXSecurity.com
P
Palo Alto Networks Blog
S
Schneier on Security
Scott Helme
Scott Helme
T
Threat Research - Cisco Blogs
K
Kaspersky official blog
Microsoft Azure Blog
Microsoft Azure Blog
T
The Exploit Database - CXSecurity.com
C
Cybersecurity and Infrastructure Security Agency CISA
T
Tenable Blog
G
GRAHAM CLULEY
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
I
Intezer
D
Docker
月光博客
月光博客
L
Lohrmann on Cybersecurity
Latest news
Latest news
B
Blog
罗磊的独立博客
M
MIT News - Artificial intelligence
S
Securelist
Know Your Adversary
Know Your Adversary
Help Net Security
Help Net Security
Recorded Future
Recorded Future
S
SegmentFault 最新的问题
N
Netflix TechBlog - Medium
T
Threatpost
H
Hacker News: Front Page
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
人人都是产品经理
人人都是产品经理
F
Fortinet All Blogs
博客园 - Franky
P
Proofpoint News Feed
大猫的无限游戏
大猫的无限游戏
Blog — PlanetScale
Blog — PlanetScale
有赞技术团队
有赞技术团队
博客园 - 【当耐特】
A
About on SuperTechFans
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
T
Tor Project blog
Google Online Security Blog
Google Online Security Blog
Application and Cybersecurity Blog
Application and Cybersecurity Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Engineering at Meta
Engineering at Meta
Webroot Blog
Webroot Blog
Security Archives - TechRepublic
Security Archives - TechRepublic
Microsoft Security Blog
Microsoft Security Blog

博客园 - 无心々菜

高并发 - 配置2 高并发 - 配置 地图 - QGIS加载geojson,并导入Postgis数据库 VUE2 - Geoserver打印矢量PDF地图 - 在VUE2中的应用 地图 - Geoserver打印矢量PDF地图 Docker - 离线+无root环境安装 docker-rootless 运维 - 哪吒监控 Postgres 数据库在docker环境下分布式部署(arm64框架) Postgres 数据库在docker环境下分布式部署 Https - 配置方案 OpenObserver - 系统接口监控 VUE2 - Docker部署 + traefik反代 高斯DB 数据库的安装 NETCORE - 使用 EFCORE 调用 高斯DB数据库 JMeter - 压力测试 NETCORE - IdentityServer4 多节点部署 NETCORE - IdentityServer4 相关文档 .NET框架 - NETCORE + API + EF(DBFirst) + PostgresSql Docker 部署 APISIX + etcd Docker部署martin 矢量切片服务器 Postgres 数据库的安装 NETCORE - 调用 RUSTFS Docker - 部署 RustFS 对像存储 Docker - 使用 Docker Secrets 敏感数据传输 Docker - 部署 Consul KV 统一管理所有项目的配置 Docker - 部署 HashiCorp Vault 开源密钥管理工具 kong 网关下集成 Consul服务注册与发现 Docker 部署 kong 网关 Docker - 部署Consul 新
VUE3 - Docker部署 + traefik反代
无心々菜 · 2026-04-13 · via 博客园 - 无心々菜

VUE2 - Docker部署 + traefik反代

环境 : vue3,vite ,docker , traefik

条件: 当前由vue3开发,调试环境地址为  http://localhost:6188/

   部署后,希望通过 http://localhost:7701/master 访问,

   反代后,希望通过 http://localhost:3000/master 访问

1. 首先修改路由

export const router = createRouter({ 
  history: createWebHistory('/master/'),
  routes: basicRoutes,
});

3. 修改启动文件

  "scripts": {
    "dev": "vite",
     "build:special22": "cross-env BUILD_MODE=special vite build --mode special22", 
  },

4. 修改 vite.config.js 


const isSpecial = process.env.BUILD_MODE === 'special';

export default defineConfig({
  plugins: [
    vue(),
    svgLoader(),
    // basicSsl()
    vueJsx(),
    {
      name: 'copy-dockerfile',
      writeBundle() {
        // 构建完成后复制文件
        const targetDir = 'dist/';  

        const dockerfilePath = resolve(__dirname, 'Dockerfile');
        const targetPath = resolve(__dirname, targetDir, 'Dockerfile');

        if (fs.existsSync(dockerfilePath)) {
          fs.copyFileSync(dockerfilePath, targetPath);
        }
      },
    },
  ],

  base: isSpecial ? '/master/' : '/',

  build: {
    outDir: isSpecial ? 'dist/master/' : 'dist/',
    emptyOutDir: true,
    assetsDir: 'assets',
    sourcemap: false,
    minify: 'terser',
  },
}

5. 编辑 Dockerfile

# 使用arm64 nginx镜像
FROM nginx

# 定义作者(推荐使用LABEL替代MAINTAINER)
LABEL maintainer="lihongyuan"

# 设置工作目录
WORKDIR /usr/share/nginx/html

# 复制静态文件到nginx目录
COPY . .

# 暴露80端口
EXPOSE 80

6. 发布项目

pnpm run build:special22

image

7. 打镜像

docker build -t railmaster:arm64.20250924 .

8. 编辑 docker-compose

version: '3.8'
services:
  railmaster:
    image: railmaster:arm64.20250924
    container_name: railmaster
    restart: always
    ports:
      - "7701:80"
    volumes:
      - /data/dockerMappingFiles/data_railmaster/default.conf:/etc/nginx/conf.d/default.conf

9. 编辑 nginx 的配置文件

default.conf


     server {
        listen       80;
        server_name  master;

        # 禁用自动重定向
        absolute_redirect off;
        server_name_in_redirect off;
        port_in_redirect off;

        # 主应用路径 - 使用root指令
        location /master/ {
            root   /usr/share/nginx/html;
            index  index.html index.htm;
             
            try_files $uri $uri/ /master/index.html;
        }

        # 处理不带斜杠的访问
        location = /master {
            return 301 /master/;
        }

        # 根路径重定向到railmaster
        location = / {
            return 301 /master/;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
     } 

 10. 启动

docker-compose up -d railmaster

可以通过地址 http://ip:7701/master 访问服务

11. 配置traefik

traefik.toml

[ping]
  entryPoint = "web"

[entryPoints]
  [entryPoints.web]
    address = ":3000"
  [entryPoints.websecure]
    address = ":8444"

[log]
  level = "DEBUG"
  filePath = "/data/winstall/traefik/traefik.log"

[accessLog]
  filePath = "/data/winstall/traefik/access.log"

[api]
  insecure = true
  dashboard = true

[providers.file]
  filename = "/data/winstall/traefik/dynamic_conf.toml"
  watch = true

dynamic_conf.toml

  [http.routers.master]
    entryPoints = ["web"]  
    rule = "PathPrefix(`/master`)"
    service = "master"
    priority = 10
  [http.services]
    [http.services.master]
      [http.services.master.loadBalancer]
        [[http.services.master.loadBalancer.servers]]
          url = "http://10.5.84.10:7701/"

 启动 traefik 后 

 可以访问 http://ip:3000/master

end.