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主办运行?
你并不需要一个主机名。该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: {}