まず、この質問をするのに適切な用語を使用していないとすみませんが、適切な用語を使用していません。
Dockerコンテナーでtraefikを実行しており、PathPrefixオプションを使用していくつかのサービスを提供しています。たとえば、www.myserver.com/wordpressはwordpressを実行するDockerコンテナーにリダイレクトします。
しかし、どうすればDockerコンテナの外にリダイレクトできますか?具体的には、www.myserver.comを自分のマシンのポート8080にリダイレクトして、そこで(Dockerコンテナーではなく)ホストOSで実行しているサービスを提供するにはどうすればよいですか?
これは私の traefik.toml
:
logLevel = "DEBUG"
defaultEntryPoints = ["http", "https"]
[entryPoints]
[entryPoints.http]
address = ":80"
compress = false
[entryPoints.http.redirect]
entryPoint = "https"
[entryPoints.https]
address = ":443"
[entryPoints.https.tls]
[acme]
email = "[email protected]"
storage = "acme.json"
entryPoint = "https"
onHostRule = true
#onDemand = true
[[acme.domains]]
main = "www.myserver.com"
[web]
address = ":8888"
[docker]
endpoint = "unix:///var/run/docker.sock"
domain = "www.myserver.com"
watch = true
exposedbydefault = false
と私 docker-compose.yml
traefikコンテナ:
version: "2"
services:
traefik:
image: traefik
network_mode: "Host"
ports:
- "80:80"
- "443:443"
- "8888:8888"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ${SERVER_DIR}/AppData/traefik:/etc/traefik/
- ${PWD}/acme.json:/acme.json
- ${PWD}/traefik.toml:/etc/traefik/traefik.toml
- ${PWD}/servers.toml:/etc/traefik/servers.toml
restart: never
私はいじり回し、答えを見つけました。
traefik.toml
追加:
################################################################
# File configuration backend
################################################################
# Enable file configuration backend
# Optional
[file]
filename = "servers.toml"
# Enable watch file changes
watch = true
docker-compose.yml
変更 volumes:
から:
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ${SERVER_DIR}/AppData/traefik:/etc/traefik/
- ${PWD}/acme.json:/acme.json
- ${PWD}/traefik.toml:/etc/traefik/traefik.toml
- ${PWD}/servers.toml:/servers.toml
ファイルを追加servers.toml
:
loglevel = "ERROR"
[backends]
[backends.nasweb]
[backends.nasweb.servers.nasweb]
url = "http://192.168.1.11:8080"
[frontends]
[frontends.domain]
backend = "nasweb"
[frontends.domain.routes.domain]
rule = "Host:www.myserver.com"