Traefik不含域名

问题描述 投票:-1回答:1

Feww!

我是新来Traefik和资料应有不是在尝试一种非常基本的测试帮助。

我想一个远程服务器,就是我的IP地址访问,并没有一个域名作为这样运行在其主页上link给出traefik基本的例子)。但是,所有的doumentations和实例教程只是看起来对我来说是相同的 - 围绕一个人如果没有什么域名没有讨论。 (既不可以创建诸如服务器是一个VPN的后面。)

题:-

我应该如何配置traefik.frontend.rule时,我没有一个域名。如果我的IP地址是说xx.xx.xxx.xxx。

compose.yml

version: "3"

services:
  traefik:
    image: traefik:alpine
    ports:
      - 80:80
    volumes:
      - ${traefikConfigDirectory}:/etc/traefik
      - /var/run/docker.sock:/var/run/docker.sock
    # network_mode: host
  whoami:
    image: emilevauge/whoami
    labels:
      - traefik.enable=true
      - traefik.frontend.rule=PathPrefixStrip:/testpath
    # network_mode: host

config.toml

defaultEntryPoints = ["http"]

[entryPoints]
  [entryPoints.http]
  address = ":80"

[docker]
endpoint = "unix:///var/run/docker.sock"
exposedByDefault = false
usebindportip=false

[更新]

然而,作为@marvin建议,我将traefik.port = 80标签WHOAMI,也是我已经把network_mode: host,我能够运行。但是,如何让它不把network_mode主办运行?

docker traefik
1个回答
3
投票

你并不需要一个主机名。该IP地址将指向您的traefik:让我们说1.2.3.4:80(你不需要80的确是:它只是一个例子)例如,对于一些Tomcat的应用程序(8080),该规则可能是这样的:

- "traefik.docker.network: traefik"
- "traefik.frontend.rule=PathPrefixStrip: /somepath"
- "traefik.port=8080"
- ...

请参阅:在规则没有IP。由于该规则仅匹配IP或域名后的路径。

这里,1.2.3.4/somepath每次调用会重定向到1.2.3.4:8080。您不必发布tomcat的容器上的8080端口。如果您的应用程序已经有一个路径,只是删除了“带”的一部分:“PathPrefix:/ somepath”

编辑:你撰写

您撰写将成为英镑这样的(未测试):

version: "3"

services:
  traefik:
    image: traefik:alpine
    ...
    volumes:
      - ${traefikConfigDirectory}:/etc/traefik
      - /var/run/docker.sock:/var/run/docker.sock
    networks: 
      - traefik-net
  whoami:
    image: emilevauge/whoami
    labels:
      - traefik.enable=true
      - traefik.frontend.rule=PathPrefixStrip:/testpath
      - traefil.docker.network=traefik-net
    networks: 
      - traefik-net

networks:
    traefik-net: {} 
© www.soinside.com 2019 - 2024. All rights reserved.