请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

用了docker-compose的方式启动,traefik不能将请求转发到容器

用了docker-compose的方式启动,traefik不能将请求转发到容器
traefik用的是1.7版本的
图片描述图片描述图片描述图片描述
/etc/hosts 自定义的域名解析

正在回答 回答被采纳积分+3

1回答

xiaomo 2020-04-28 13:33:07

同学你好,看看你本地traefik的转发配置yaml文件是怎么设置的?就是根据域名转发到具体容器服务名的相关配置。主要是两个地方的配置,可以检查一下:

(1)traefik相关的配置:https://git.imooc.com/coding-323/filestore-server/src/master/deploy/traefik_dc/
(2)容器相关的配置: https://git.imooc.com/coding-323/filestore-server/src/master/deploy/service_dc

其中注意一下这里:

    labels:
      - "traefik.backend=apigw"
      - "traefik.frontend.rule=Host:apigw.fileserver.com"
      - "traefik.docker.port=8080"


0 回复 有任何疑惑可以回复我~
  • 提问者 慕后端8334738 #1
    老师情况还是一样,不能将请求转发到容器里,输入apigw.fileserver.com/user/signin还是会显示请求找不到,  
    
    services:
      proxy:
        image: traefik:v1.7.11
        command: --api --docker --docker.domain=docker.localhost --logLevel=DEBUG
        networks:
          - apinetwork
        ports:
          - "81:80"
          - "8080:8080"
        volumes:
          - /var/run/docker.sock:/var/run/docker.sock
          - ./traefik.toml:/etc/traefik/traefik.toml
    
    这里面我把traefik容器的端口映射到宿主机的81端口,
    然后在traefik的toml配置文件里,改为[entryPoints]
      [entryPoints.http]
      address = ":81"
    这样做有影响吗?因为我的80端口一直被找不到的原因的进程占用,所以只能换个端口。
    还有老师视频用的traefik版本是多少,会不会是traofik版本的原因呢
    回复 有任何疑惑可以回复我~ 2020-04-28 16:22:55
  • xiaomo 回复 提问者 慕后端8334738 #2
    课程里用的traefik版本也是1.7 。80改成81的话是有影响的,你看看这样访问正常不: http://apigw.fileserver.com:81/user/signin
    回复 有任何疑惑可以回复我~ 2020-04-28 21:47:07
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信