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

推荐订阅源

雷峰网
雷峰网
Security Archives - TechRepublic
Security Archives - TechRepublic
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Last Week in AI
Last Week in AI
博客园 - 司徒正美
阮一峰的网络日志
阮一峰的网络日志
WordPress大学
WordPress大学
爱范儿
爱范儿
J
Java Code Geeks
T
Tailwind CSS Blog
Apple Machine Learning Research
Apple Machine Learning Research
人人都是产品经理
人人都是产品经理
宝玉的分享
宝玉的分享
博客园 - 【当耐特】
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Help Net Security
Help Net Security
Hacker News: Ask HN
Hacker News: Ask HN
月光博客
月光博客
S
Secure Thoughts
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
博客园 - 聂微东
Hugging Face - Blog
Hugging Face - Blog
V
Visual Studio Blog
博客园 - 三生石上(FineUI控件)
O
OpenAI News
酷 壳 – CoolShell
酷 壳 – CoolShell
N
News and Events Feed by Topic
腾讯CDC
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Webroot Blog
Webroot Blog
博客园 - Franky
有赞技术团队
有赞技术团队
美团技术团队
Jina AI
Jina AI
S
Security @ Cisco Blogs
博客园 - 叶小钗
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园_首页
C
CERT Recently Published Vulnerability Notes
T
Threat Research - Cisco Blogs
Project Zero
Project Zero
A
Arctic Wolf
大猫的无限游戏
大猫的无限游戏
Latest news
Latest news
小众软件
小众软件
IT之家
IT之家
S
Security Affairs

博客园 - 无心々菜

高并发 - 配置2 高并发 - 配置 地图 - QGIS加载geojson,并导入Postgis数据库 VUE2 - Geoserver打印矢量PDF地图 - 在VUE2中的应用 地图 - Geoserver打印矢量PDF地图 Docker - 离线+无root环境安装 docker-rootless 运维 - 哪吒监控 Postgres 数据库在docker环境下分布式部署(arm64框架) Postgres 数据库在docker环境下分布式部署 Https - 配置方案 OpenObserver - 系统接口监控 VUE3 - 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 新
VUE2 - Docker部署 + traefik反代
无心々菜 · 2026-04-13 · via 博客园 - 无心々菜

VUE2 - Docker部署 + traefik反代

环境 : vue2 ,docker , traefik

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

   部署后,希望通过 http://localhost:7700/railfore访问,

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

1. 首先修改路由

const router = new Router({
  base: process.env.BASE_URL,
  scrollBehavior: () => ({ y: 0 }),
  mode: 'history',
  routes: constantRouterMap,
});

2. 修改配置文件

.env.working

NODE_ENV=working

3. 修改启动文件

  "scripts": {
    "serve": "vue-cli-service serve",
    "build:work": "vue-cli-service build --max_old_space_size=8192 --mode working", 
  },

4. 修改 vue.config.js 


const isWorking = process.env.NODE_ENV === 'working';

const vueConfig = {
  outputDir: isWorking ? "dist/railfore/" : 'dist/',
  publicPath: isWorking ? '/railfore/' : "/", //这个必须,引入静态资源需要从根路径引入,否则会找不到静态资源

  configureWebpack: {  
    plugins: [
      new CopyWebpackPlugin([
        {
          from: path.resolve(__dirname, "Dockerfile"),
          to: path.resolve(__dirname, "dist"),
        },
      ]),
    ],
  },    
}

5. 编辑 Dockerfile

# 使用arm64 nginx镜像
FROM nginx

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

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

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

# 暴露80端口
EXPOSE 80

6. 发布项目

yarn build:work

image

7. 打镜像

docker build -t railfore:arm64.20250924 .

8. 编辑 docker-compose

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

9. 编辑 nginx 的配置文件

default.conf


     server {
        listen       80;
        server_name  railfore;

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

        # 主应用路径 - 使用root指令
        location /railfore/ {
            root   /usr/share/nginx/html;
            index  index.html index.htm;
            
            # 处理Vue Router的history模式
            try_files $uri $uri/ /railfore/index.html;
        }

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

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

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

 10. 启动

docker-compose up -d railfore

可以通过地址 http://ip:7700/railfore  访问服务

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.railfore]
    entryPoints = ["web"]  
    rule = "PathPrefix(`/railfore`)"
    service = "railfore-svc"
    priority = 10
  [http.services]
    [http.services.railfore-svc]
      [http.services.railfore-svc.loadBalancer]
        [[http.services.railfore-svc.loadBalancer.servers]]
          url = "http://10.5.84.10:7700/"

 启动 traefik 后 

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

end.