首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >特雷菲克和码头工人?

特雷菲克和码头工人?
EN

Stack Overflow用户
提问于 2019-01-15 12:12:30
回答 2查看 472关注 0票数 0

我不确定这是否可能,因为我无法控制DNS (不过我可以编辑/etc/host)。

我有几台Azure Ubuntu服务器,其中有1名管理人员和2名工作人员(总共3名)。这些节点只能在我们的公司网络上访问。我通常通过键入以下内容从办公室的桌面访问web门户:

  • IP地址:端口
  • 主办方:港口
  • Host.corp.companyname.com:Port

我的目标是键入类似于host/portainer、主机/pgadmin、或的内容,将其路由到在工作节点上运行的web门户。有可能吗?我不介意编辑桌面的/etc/host文件,但我不想指定IP地址(否则在多个节点上运行门户是没有意义的)。

代码语言:javascript
复制
services:
  web:
    image: traefik:1.7-alpine
    networks:
      - frontend
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /dev/null:/traefik.toml
    ports:
      - "80:80"
      - "8080:8080"
    command:
      - --docker
      - --docker.swarmMode
      - --docker.domain=corp.companyname.com
      - --docker.watch
      - --api
      - --defaultentrypoints=http
    deploy:
      placement:
        constraints: 
          - node.role == manager


  pgadmin4:
    image: dpage/pgadmin4:4.0
    ports:
      - "5050:80"
    deploy:
      placement: 
        constraints: 
          - node.role == worker
      labels:
      - traefik.enable=true
      - traefik.docker.network=frontend
      - traefik.backend=pgadmin4
      - traefik.port=5050
      - traefik.frontend.rule=???????
    networks:
      - frontend

networks:
  frontend:
    external: true
    name: frontend
EN

回答 2

Stack Overflow用户

发布于 2019-01-15 14:00:30

你完全可以用

代码语言:javascript
复制
  - traefik.frontend.rule=PathPrefixStrip:/pgadmin/

这里是traefik可以使用的匹配器列表。

票数 0
EN

Stack Overflow用户

发布于 2019-01-15 16:18:33

我终于把这个搞定了。

  1. 我不得不将我的traefik.docker.network从前端重命名为traefik_frontend (traefik是我运行堆栈部署命令时使用的名称)
  2. 我不得不使用Firefox (Chrome无法工作-我不知道为什么)
  3. 我把traefik.port=5050改成了traefik.port=80
  4. 我在windows上的/etc/host文件中添加了traefik-pgadmin.docker.localhost (在将其保存为.txt文件之前注意到了这是错误的)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54198608

复制
相关文章

相似问题

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