首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Traefik不能到达后端时,docker-组合有端口映射。

问Traefik不能到达后端时,docker-组合有端口映射。
EN

Stack Overflow用户
提问于 2018-08-09 12:51:06
回答 2查看 890关注 0票数 0

我的码头在蜂群模式下。

我不明白为什么traefik在解决端口映射后就不能立即到达我的附件后端:我得到了一个504 (超时)错误。没有映射,traefils工作得很好。

Traefik作为一个服务部署在群集上,使用以下命令:

代码语言:javascript
复制
docker network create --driver=overlay traefik-net

docker service create \
        --name traefik \
        --constraint=node.role==manager \
        --publish 80:80 --publish 8088:8080 \
        --with-registry-auth \
        --mount type=bind,source=/var/run/docker.sock,target=/var/run/docker.sock \
        --mount type=bind,source=/var/opt/data/flat/gerdce/shared/servers/traefik/out/,target=/out/ \
        --mount type=bind,source=/var/opt/data/flat/gerdce/shared/servers/traefik/traefik.toml,target=/traefik.toml \
        --network traefik-net \
        dvckzasc03.rouen.francetelecom.fr:5000/pli/traefik \
        --docker \
        --docker.domain=docker.localhost \
        --docker.swarmMode=true \
        --docker.watch=true \
        --api

(Il还尝试过从docker-compose文件中运行traefik,但没有取得更多成功)

nexxus堆栈:

代码语言:javascript
复制
version: '3.3'
services:
  nexus:
    image: some_nexus:5000/sonatype/nexus3
    volumes:
    - /var/opt/data/flat/gerdce/shared/repositories/nexus/data:/nexus-data
    deploy:
      replicas: 1
      placement:
        constraints:
          - node.role == manager
      labels:
      - "traefik.enable=true"
      - "traefik.static.frontend.rule=PathPrefix:/static/rapture"
      - "traefik.serviceext.frontend.rule=PathPrefix:/service/extdirect"
      - "traefik.serviceout.frontend.rule=PathPrefix:/service/outreach"
      - "traefik.nexus.frontend.rule=PathPrefixStrip:/nexus"
      - "traefik.port=8081"
    networks:
        - traefik-net
    #ports:
    #- "5050:5050"

networks:
    traefik-net:
      external: true

一切都是这样的: traefik很好地重定向到/nexus (和s.o.) .直到取消对端口映射的注释!

我真的需要这个端口映射,以便从我的VM登录/推/拉。

任何关于

  • 为什么会发生这种情况(我错过了文档的stg?
  • 这里的解决办法是什么?

版本:

Docker版本18.03.0-ce,构建0520e24 docker-编写版本1.22.0,构建f46880fe Traefik 1.6.5

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-08-10 13:25:00

最后,我让它添加了一个缺失的标签:

代码语言:javascript
复制
- "traefik.docker.network=traefik-net"
票数 0
EN

Stack Overflow用户

发布于 2018-08-09 13:19:36

首先,我建议将它插入到像Nexus堆栈文件一样的docker-stack.yml中,因为这样更容易维护。

下面是我昨天部署的traefik代理的一个示例,它适用于端口映射

代码语言:javascript
复制
version: "3.4"

services:
  traefik:
    image: traefik:latest
    ports:
      - "80:80"
      - "443:443"
      - "8080:8080"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51767563

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档