You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Docker Compose配置让Traefik通过5060端口暴露服务

修改Docker Compose配置实现指定端口访问

需求说明

现有运行Node.js程序的nodeserver容器,暴露3060端口,使用镜像nuc0c.cn.lan:5000/node_request:0.0.1。当前可通过http://nuc0c.cn.lan访问站点,需改为通过http://nuc0c.cn.lan:5060访问。

修改方案

需对docker-compose.yml做两处关键修改:

1. 为Traefik开放5060端口

在Traefik服务的ports配置中添加5060端口映射,将外部5060端口的请求转发到Traefik容器内部的80端口(Traefik默认处理HTTP请求的端口)。

2. 限定nodeserver的路由匹配端口

修改nodeserver的Traefik路由规则,让它仅匹配访问5060端口的请求,避免和其他端口服务冲突。

修改后的完整配置

services:
  traefik:
    container_name: traefik4node
    # The official v3 Traefik docker image
    image: traefik:v3.3
    # Enables the web UI and tells Traefik to listen to docker
    command:
       --api.insecure=true
       --providers.docker
    ports:
      - "80:80"
      - "8080:8080"
      - "5060:80" # 新增5060端口映射
      # The Web UI (enabled by --api.insecure=true)

    volumes:
      # So that Traefik can listen to the Docker events
      - /var/run/docker.sock:/var/run/docker.sock
    depends_on:
      - nodeserver

  nodeserver:
      image: nuc0c.cn.lan:5000/node_request:0.0.1
      # container_name: nodeserver
      tty: true
      labels:            
        - "traefik.http.routers.nodeserver.rule=Host(`nuc0c.cn.lan`) && Port(`5060`)" # 新增端口匹配规则
        - "traefik.enable=true"
        - "traefik.http.services.my-service.loadbalancer.server.port=3060" # 转发请求到容器暴露的3060端口

验证方式

修改完成后执行docker-compose up -d重启服务,即可通过http://nuc0c.cn.lan:5060访问Node.js站点。

内容的提问来源于stack exchange,提问作者Jose Cabrera Zuniga

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 10:08:28