Tag: traefik

Traefik Docker websocketconfiguration

我目前正在尝试使用自定义websocket服务的Traefik。 我需要在Docker云中部署它。 这是我的堆栈文件的摘录: traefik: image: traefik command: –web –docker –docker.domain=docker.localhost –logLevel=DEBUG ports: – '80:80' – '8080:8080' – '443:443' volumes: – /var/run/docker.sock:/var/run/docker.sock – /dev/null:/traefik.toml presenceservice: image: 'imagename' labels: – 'traefik.api.backend=presenceapi' – 'traefik.api.port=3000' – 'traefik.api.frontend.rule=PathPrefixStrip:/presenceapi,/alksjdfllkajsflkajsdlkfjaslkdfjaslkdjflkasjdflkasjdflkasdjf67' – 'traefik.websocket.backend=presencesocket' – 'traefik.websocket.protocol=ws' – 'traefik.websocket.port=3001' – 'traefik.websocket.frontend.rule=PathPrefixStrip:/presencesocket,/alksjdfllkajsflkajsdlkfjaslkdfjaslkdjflkasjdflkasjdflkasdjf68' – 'traefik.websocket.frontend.entryPoints=ws,wss' 但是试图用C#(SocketIoClientDotNet)连接到websocket只会导致连接错误。 在部署具有端口的存在服务之前,它工作。 任何build议在docker上撰写文件? 看着Traefik Git的问题,我只想出了这个configuration,但它不起作用。

* .docker.localhost只适用于chrome

我们使用docker4drupal与我们的网站进行本地开发。 问题是这些网站只能在Chrome中使用。 另一个用户在这里有相同的问题。 这是我的容器内的cat /etc/hosts输出: 127.0.0.1 localhost ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters 172.20.0.5 d012518e289d

dynamic容器环境的工具

我的任务是: 能够轻松地将新域名路由到应用程序 更换没有(低)停机时间的容器 到目前为止,我调查了traefik.iodynamic路由。 但我不太确定热插拔。 我可以用traefik将路由交换到新的应用程序,但是如果我在下面有多个层,我仍然需要这个能力,即更新一些系统级的服务。 networking上的工具提供了我真的不知所措。 我需要提到的是,只有一个主机。 docker-compose有什么替代traefik的? 这种小环境下的牧场主或库伯纳等工具是否超出了范围?

Traefik重写http状态?

我正在经历一个非常奇怪的行为,在kubernetes中使用了traefik(1.3.5)(用作入口(使用稳定图表部署))。 我有一个PHP端点背后的清漆服务器,返回一个404时,我直接curl它没有任何特殊的伎俩。 $ curl -v ingress…/sport/?page=404 > GET /sport/?page=404 HTTP/1.1 > Host: varnish.ingress.xxx > User-Agent: curl/7.43.0 > Accept: */* > < HTTP/1.1 404 Not Found < Age: 0 < Cache-Control: max-age=10, public < Content-Type: text/html; charset=UTF-8 < Date: Wed, 06 Sep 2017 21:19:48 GMT < Server: nginx < Vary: Accept-Encoding < Vary: Accept-Encoding < Via: […]

使docker使用具有两个以太网端口的主机中的特定networking接口(通过名称或IP)

编辑:我相信这个问题只是相对于docker工人,我仍然给予traefik细节,以防万一它在未来的帮助。 我正在尝试在有两个以太网端口的机器上configurationtraefik。 由于我想将端口80暴露给外部,当我尝试启动容器时出现错误: 错误:对于traefik_traefik_1无法启动服务traefik:驱动程序失败编程端点上的外部连接traefik_traefik_1(68247b1a5d9c26bfb0a139747f210140c4cf4a34d9125b2cc2fb5d968c85a89b):启动userland代理时出错:listen tcp 0.0.0.0:80:bind:address already already in use 但80端口只在eth0(ip:192.168.1.11)接口中使用。 如何使docker(和traefik,如果需要的话)使用eth1(ip:192.168.1.12)接口的80端口不使用? 这是我docker-compose.yml : version: "2" services: traefik: image: traefik networks: – proxy ports: – 80:80 – 443:443 – 8888:8888 volumes: – /var/run/docker.sock:/var/run/docker.sock – ${SERVER_DIR}/docker/traefik:/etc/traefik/ – ${PWD}/acme.json:/acme.json – ${PWD}/traefik.toml:/traefik.toml – ${PWD}/servers.toml:/servers.toml restart: never networks: proxy: external: true 而我的traefik.toml : logLevel = "ERROR" defaultEntryPoints = ["http", […]

Traefik(+ Docker)path设置为根和子文件夹分派

通过在Docker和Traefik上创build反向代理,我想在同一个主机上将多个path分派到两个不同的后端服务器中, 1. traefik.test/ -> app1/ 2. traefik.test/post/blabla -> app1/post/blabla 3. traefik.test/user/blabla -> app2/user/blabla 如果规则只有#2和#3,我可以在docker-compose.yml中这样做 app1: image: akky/app1 labels: – "traefik.backend=app1" – "traefik.frontend.rule=Host:traefik.test;PathPrefix:/post,/comment" app2: image: akky/app2 labels: – "traefik.backend=app2" – "traefik.frontend.rule=Host:traefik.test;PathPrefix:/user,/group" 但是,在第一个PathPrefix中添加根“/”似乎是在app2上隐藏/用户。 以下不起作用,所有内容都转到app1后端。 – "traefik.frontend.rule=Host:traefik.test;PathPrefix:/,/post,/group" 规则“主机:”和“PathPrefix”似乎工作为“与”,但我想使用“或”(确切/,或以/后开始)。 我search了一下,知道从1.3.0版本开始可以定向多个规则,根据pull request#1257多行添加服务名。 通过了解,我所做的就是这样, app1: image: akky/app1 labels: – "traefik.app1_subfolder.backend=app1" – "traefik.app1_subfolder.frontend.rule=Host:traefik.test;PathPrefix:/post,/group" – "traefik.app1_rootfolder.backend=app1" – "traefik.app1_rootfolder.frontend.rule=Host:traefik.test;Path:/" app2: image: akky/app2 labels: – […]

Traefik:应用程序之间的HTTPS访问不起作用

在我们的设置中,我们使用最新的traefik作为反向代理,它具有路由到演示合stream和keycloak服务器。 traefik | | confluence keycloak 每个应用程序都有自己的docker-compose文件,并分别启动。 Traefik定义了一个虚拟networking,合stream和keycloak也在这个networking。 使用正确的DNS设置,用户可以访问traefik,汇合和keycloak。 它按预期工作。 要使用keycloak web SSO系统,合stream系统必须使用traefik,使用FQDN和HTTPS访问keycloak,反之亦然。 这不起作用。 有可能直接连接到服务(我们假设这是由于共享networking),但是如果我们即连接到keycolak容器,并做类似 curl -k https://confluence.our.domain -v 我们可以看到docker-host的连接已经完成(IP匹配),但是traefik似乎没有做任何路由。 如果我们连接到keycolak容器,并做 curl -k -v -H 'Host: confluence.our.domain' https://traefik 路由完成。 任何build议,我们做错了什么,或者我们应该检查什么? 任何帮助表示赞赏,克里斯托弗

AWS Elastic Beanstalk无效绑定安装规范错误

我试图将traefik.io代理部署到popup的beanstalk中作为docker镜像,但是我正在运行docker卷装入错误。 下面是运行代理的docker命令 docker run -d -p 8080:8080 -p 80:80 -v $PWD/traefik.toml:/etc/traefik/traefik.toml traefik 我为Elastic Beanstalk创build了一个Dockerrun.aws.jsonconfiguration文件,如下所示: { "AWSEBDockerrunVersion": 2, "volumes": [ { "name": "traefiktoml", "host": { "sourcePath": "/var/app/current/traefik.toml" } } ], "containerDefinitions": [{ "name": "traefik", "image": "traefik", "essential":true, "memory":512, "portMappings": [{ "hostPort": 80, "containerPort": 80 }, { "hostPort": 8080, "containerPort": 8080 }], "mountPoints": [ { "sourceVolume": "traefiktoml", […]

如何在Docker中为SSL添加适当的标签?

我已经设法设置Traefik来与我的docker群一起工作,对于HTTP请求,它工作的很好。 但是,我不知道如何为我的一些容器安装SSL。 我将使用letsencrypt来生成证书。 traefik.toml(部分) defaultEntryPoints = ["https","http"] [entryPoints] [entryPoints.http] address = ":80" [entryPoints.https] address = ":443" [entryPoints.https.tls] [acme] email = "acme@example.com" storage = "acme.json" entryPoint = "https" onHostRule = true caServer = "https://acme-staging.api.letsencrypt.org/directory" 泊坞窗,compose.yml version: '3' services: web: … deploy: labels: – "traefik.enable=true" – "traefik.frontend.rule=Host:example.com,www.example.com" – "traefik.docker.network=public" – "traefik.frontend.entryPoints=http" – "traefik.backend=service_web" 在此configuration中,我的应用程序永远不会到达SSL,因为我的容器没有安装SSL入口点。 如果我把“traefik.frontend.entryPoints”改为“https”,Letsencrypt就会被调用(LE因为升级而出错,但这对我来说并不重要)。 我最大的问题是,我仍然不知道如何将traefik TOMLconfiguration转换为docker-compose标签。 […]

为什么在使用Docker运行时,Traefik不能读取我的traefik.toml文件?

当按照正式的Docker镜像提到的步骤,我似乎无法让Traefik读取我的traefik.toml文件。 这工作 从docker-compose.yml : version: '3' services: proxy: image: traefik:1.3.5 command: –docker –docker.domain=docker.localhost –logLevel=DEBUG ports: – 80:80 volumes: – /var/run/docker.sock:/var/run/docker.sock #- ./traefik.toml:/traefik.toml whoami: image: emilevauge/whoami labels: – "traefik.backend=whoami" – "traefik.frontend.rule=PathPrefix:/whoami" 请注意,没有安assembly置文件,并且所有configuration都作为parameter passing。 现在,如果我运行docker-compose up我会看到一堆来自Traefik的debugging语句。 如果我testing应用程序,它的工作原理(是的,我正在运行Windows 7): $ curl 'http://192.168.99.100:80/whoami' Hostname: c94bec5d0e3e IP: 127.0.0.1 IP: 172.19.0.3 GET /whoami HTTP/1.1 Host: 192.168.99.100 User-Agent: curl/7.50.1 Accept: */* Accept-Encoding: […]