2017-06-09 27 views
5

consul和docker swarm配置後端是否兼容?是否有docker swarm和consul backend的traefik配置?

我的需求是我需要啓動N個traefik容器作爲docker服務,他們通過docker swarm獲得它們的動態前端/後端,但是我還需要所有N個traefik容器使用共享的ACME配置(即源代碼來自領事)。

我喜歡它,所以前端/後端信息應該來自碼頭羣,而ACME配置應該來自領事。至於任何其他靜態traefik配置,我很好,如果它來自靜態文件,但這實際上不會作爲一個文件通過volumne ACME.json工作,因爲如何管理寫入鎖?我看到的唯一選擇是領事KV商店。

我看到的問題是,這種設置是不可能的?

建立在2017-05-31_05 Traefik版本V1.3.0:48:42PM

上傳我的TOML配置成領事KV看起來像這樣:(在 「traefik階段」 根存儲在領事KV )

defaultEntryPoints = ["http", "https"] 

debug=true 
logLevel="DEBUG" 
InsecureSkipVerify=true 

[web] 
address = ":8080" 

[web.statistics] 

[entryPoints] 
    [entryPoints.http] 
    address = ":80" 
    [entryPoints.https] 
    address = ":443" 
    [entryPoints.https.tls] 

[acme] 
acmeLogging=true 
onDemand=true 
entryPoint="https" 
OnHostRule=true 
caServer="https://acme-v01.api.letsencrypt.org/directory" 
email="[email protected]" 
storage="traefik-stage/acme/account" 

# TRIED BOTH WITH AND WITHOUT 
# THE DOCKER CONFIG LOADED INTO CONSUL 
# AND AS command line flags.... to no avail 
[docker] 
swarmmode=true 
domain="traefik" 
watch=true 

[[acme.domains]] 
    main = "local1.com" 
[[acme.domains]] 
    main = "myapp1.my-domain.com" 
    sans = ["myapp1-stage.my-domain.com"] 
[[acme.domains]] 
    main = "myapp2.my-domain.com" 
    sans = ["myapp2-stage.my-domain.com"] 

開始traefik有:

docker service create \ 
--name traefik \ 
--constraint=node.role==manager \ 
--publish 80:80 \ 
--publish 8080:8080 \ 
--publish 443:443 \ 
--mount type=bind,source=/var/run/docker.sock,target=/var/run/docker.sock \ 
--network my-net \ 
-e "CONSUL_HTTP_TOKEN=xxxxxx" \ 
traefik \ 
--consul \ 
--consul.endpoint=my-consul.my-domain.com:8500 \ 
--consul.watch=true \ 
--consul.prefix="traefik-stage" 

注意!

--docker \ 
--docker.swarmmode \ 
--docker.domain=traefik \ 
--docker.watch 

下一頁開始,我想traefik來代理我的N個其他搬運工服務,每一個開始瓦特/相關標誌爲這樣的:既沒有在任領事或命令行標誌泊塢窗旗幟無濟於事嘗試

... 
--publish :9000 
--label traefik.protocol=https 
--label traefik.port=9000 
--label traefik.frontend.rule='Host:myapp1.my-domain.com,myapp1-stage.my-domain.com' 
--label traefik.docker.network=my-net 
--network my-net 
... 

注意這上面的設置(與traefik配置完全TOML文件,而不是在領事)工作正常

我你希望看到什麼?

當我去http://localhost:8080/dashboard/#/我看到我的2個前端/後端通過traefik並設置適當的發現正確,因爲他們的工作瓦特/領事

我是怎麼看呢?

UI中沒有任何內容,但日誌顯示證據顯示traefik確實從docker獲取前端/後端信息並將其連接起來。但是在UI中沒有顯示,也沒有任何實際的路由工作的主機。

日誌輸出

2017-06-09T16:22:38.049816971Z time="2017-06-09T16:22:38Z" level=info msg="Traefik version v1.3.0 built on 2017-05-31_05:48:42PM" 
2017-06-09T16:22:38.056705032Z time="2017-06-09T16:22:38Z" level=debug msg="Global configuration loaded {"GraceTimeOut":10000000000,"Debug":true,"CheckNewVersion":true,"AccessLogsFile":"","TraefikLogsFile":"","LogLevel":"DEBUG","EntryPoints":{"http":{"Network":"","Address":":80","TLS":null,"Redirect":null,"Auth":null,"Compress":false},"https":{"Network":"","Address":":443","TLS":{"MinVersion":"","CipherSuites":null,"Certificates":null,"ClientCAFiles":null},"Redirect":null,"Auth":null,"Compress":false}},"Cluster":{"Node":"1ae7b5d5-9382-4a67-b608-1e39e6fba1e5","Store":{"Store":{},"Prefix":"traefik-stage"}},"Constraints":[],"ACME":{"Email":"[email protected]","Domains":[{"Main":"local1.com","SANs":null},{"Main":"myapp1.my-domain.com","SANs":["myapp1-stage.my-domain.com"]},{"Main":"myapp2.my-domain.com","SANs":["myapp2-stage.my-domain.com"]}],"Storage":"","StorageFile":"/var/run/acme.json","OnDemand":true,"OnHostRule":true,"CAServer":"https://acme-v01.api.letsencrypt.org/directory","EntryPoint":"https","DNSProvider":"","DelayDontCheckDNS":0,"ACMELogging":true,"TLSConfig":null},"DefaultEntryPoints":["http","https"],"ProvidersThrottleDuration":2000000000,"MaxIdleConnsPerHost":200,"IdleTimeout":180000000000,"InsecureSkipVerify":true,"Retry":null,"HealthCheck":{"Interval":30000000000},"Docker":{"Watch":true,"Filename":"","Constraints":null,"Endpoint":"unix:///var/run/docker.sock","Domain":"traefik","TLS":null,"ExposedByDefault":true,"UseBindPortIP":false,"SwarmMode":true},"File":null,"Web":{"Address":":8080","CertFile":"","KeyFile":"","ReadOnly":false,"Statistics":{"RecentErrors":10},"Metrics":null,"Path":"","Auth":null},"Marathon":null,"Consul":{"Watch":true,"Filename":"","Constraints":[],"Endpoint":"my-consul.my-domain.com:8500","Prefix":"traefik-stage","TLS":null,"Username":"","Password":""},"ConsulCatalog":null,"Etcd":null,"Zookeeper":null,"Boltdb":null,"Kubernetes":null,"Mesos":null,"Eureka":null,"ECS":null,"Rancher":null,"DynamoDB":null}" 
2017-06-09T16:22:38.056793712Z time="2017-06-09T16:22:38Z" level=info msg="Preparing server https &{Network: Address::443 TLS:0xc420065260 Redirect:<nil> Auth:<nil> Compress:false}" 
2017-06-09T16:22:38.303980631Z time="2017-06-09T16:22:38Z" level=warning msg="ACME.StorageFile is deprecated, use ACME.Storage instead" 
2017-06-09T16:22:38.304036333Z time="2017-06-09T16:22:38Z" level=info msg="Preparing server http &{Network: Address::80 TLS:<nil> Redirect:<nil> Auth:<nil> Compress:false}" 
2017-06-09T16:22:38.304047560Z time="2017-06-09T16:22:38Z" level=info msg="Starting provider *docker.Provider {"Watch":true,"Filename":"","Constraints":null,"Endpoint":"unix:///var/run/docker.sock","Domain":"traefik","TLS":null,"ExposedByDefault":true,"UseBindPortIP":false,"SwarmMode":true}" 
2017-06-09T16:22:38.304056909Z time="2017-06-09T16:22:38Z" level=info msg="Starting provider *server.WebProvider {"Address":":8080","CertFile":"","KeyFile":"","ReadOnly":false,"Statistics":{"RecentErrors":10},"Metrics":null,"Path":"","Auth":null}" 
2017-06-09T16:22:38.304063376Z time="2017-06-09T16:22:38Z" level=info msg="Starting server on :443" 
2017-06-09T16:22:38.304067569Z time="2017-06-09T16:22:38Z" level=info msg="Starting provider *consul.Provider {"Watch":true,"Filename":"","Constraints":[],"Endpoint":"myconsul.my-domain.com:8500","Prefix":"traefik-stage","TLS":null,"Username":"","Password":""}" 
2017-06-09T16:22:38.304086381Z time="2017-06-09T16:22:38Z" level=info msg="Starting server on :80" 
2017-06-09T16:22:38.304091503Z time="2017-06-09T16:22:38Z" level=debug msg="Node 1ae7b5d5-9382-4a67-b608-1e39e6fba1e5 running for election" 
2017-06-09T16:22:38.304095943Z time="2017-06-09T16:22:38Z" level=info msg="Node 1ae7b5d5-9382-4a67-b608-1e39e6fba1e5 elected slave ♝" 
2017-06-09T16:22:38.305221709Z time="2017-06-09T16:22:38Z" level=debug msg="Provider connection established with docker 17.03.1-ce (API 1.27)" 
2017-06-09T16:22:38.316537086Z time="2017-06-09T16:22:38Z" level=debug msg="Filtering container without port and no traefik.port label traefik.1" 
2017-06-09T16:22:38.318032177Z time="2017-06-09T16:22:38Z" level=debug msg="Validation of load balancer method for backend backend-ddd-myapp1-stage-2-2-0-2-0-0-0-ssl failed: invalid load-balancing method ''. Using default method wrr." 
2017-06-09T16:22:38.318079837Z time="2017-06-09T16:22:38Z" level=debug msg="Validation of load balancer method for backend backend-ddd-myapp2-stage-2-2-0-2-0-0-0-ssl failed: invalid load-balancing method ''. Using default method wrr." 
2017-06-09T16:22:38.318543316Z time="2017-06-09T16:22:38Z" level=debug msg="Configuration received from provider docker: {"backends":{"backend-ddd-myapp1-stage-2-2-0-2-0-0-0-ssl":{"servers":{"server-ddd-myapp1-stage-2-2-0-2-0-0-0-ssl-1":{"url":"https://10.0.3.3:9000","weight":0}},"loadBalancer":{"method":"wrr"}},"backend-ddd-myapp2-stage-2-2-0-2-0-0-0-ssl":{"servers":{"server-ddd-myapp2-stage-2-2-0-2-0-0-0-ssl-1":{"url":"https://10.0.3.7:9000","weight":0}},"loadBalancer":{"method":"wrr"}}},"frontends":{"frontend-Host-myapp1-my-domain-com-myapp1-stage-my-domain-com":{"entryPoints":["http","https"],"backend":"backend-ddd-myapp1-stage-2-2-0-2-0-0-0-ssl","routes":{"route-frontend-Host-myapp1-my-domain-com-myapp1-stage-my-domain-com":{"rule":"Host:myapp1.my-domain.com,myapp1-stage.my-domain.com"}},"passHostHeader":true,"priority":0,"basicAuth":[]},"frontend-Host-myapp2-my-domain-com-myapp2-stage-my-domain-com":{"entryPoints":["http","https"],"backend":"backend-ddd-myapp2-stage-2-2-0-2-0-0-0-ssl","routes":{"route-frontend-Host-myapp2-my-domain-com-myapp2-stage-my-domain-com":{"rule":"Host:myapp2.my-domain.com,myapp2-stage.my-domain.com"}},"passHostHeader":true,"priority":0,"basicAuth":[]}}}" 
2017-06-09T16:22:38.318768669Z time="2017-06-09T16:22:38Z" level=debug msg="Last docker config received more than 2s, OK" 
2017-06-09T16:22:38.318851649Z time="2017-06-09T16:22:38Z" level=debug msg="Creating frontend frontend-Host-myapp1-my-domain-com-myapp1-stage-my-domain-com" 
2017-06-09T16:22:38.318862832Z time="2017-06-09T16:22:38Z" level=debug msg="Wiring frontend frontend-Host-myapp1-my-domain-com-myapp1-stage-my-domain-com to entryPoint http" 
2017-06-09T16:22:38.318870901Z time="2017-06-09T16:22:38Z" level=debug msg="Creating route route-frontend-Host-myapp1-my-domain-com-myapp1-stage-my-domain-com Host:myapp1.my-domain.com,myapp1-stage.my-domain.com" 
2017-06-09T16:22:38.318885668Z time="2017-06-09T16:22:38Z" level=debug msg="Creating backend backend-ddd-myapp1-stage-2-2-0-2-0-0-0-ssl" 
2017-06-09T16:22:38.318890613Z time="2017-06-09T16:22:38Z" level=debug msg="Creating load-balancer wrr" 
2017-06-09T16:22:38.318894858Z time="2017-06-09T16:22:38Z" level=debug msg="Creating server server-ddd-myapp1-stage-2-2-0-2-0-0-0-ssl-1 at https://10.0.3.3:9000 with weight 0" 
2017-06-09T16:22:38.318899165Z time="2017-06-09T16:22:38Z" level=debug msg="Wiring frontend frontend-Host-myapp1-my-domain-com-myapp1-stage-my-domain-com to entryPoint https" 
2017-06-09T16:22:38.318903534Z time="2017-06-09T16:22:38Z" level=debug msg="Creating route route-frontend-Host-myapp1-my-domain-com-myapp1-stage-my-domain-com Host:myapp1.my-domain.com,myapp1-stage.my-domain.com" 
2017-06-09T16:22:38.318964111Z time="2017-06-09T16:22:38Z" level=debug msg="Creating backend backend-ddd-myapp1-stage-2-2-0-2-0-0-0-ssl" 
2017-06-09T16:22:38.318969668Z time="2017-06-09T16:22:38Z" level=debug msg="Creating load-balancer wrr" 
2017-06-09T16:22:38.318974033Z time="2017-06-09T16:22:38Z" level=debug msg="Creating server server-ddd-myapp1-stage-2-2-0-2-0-0-0-ssl-1 at https://10.0.3.3:9000 with weight 0" 
2017-06-09T16:22:38.318978435Z time="2017-06-09T16:22:38Z" level=debug msg="Creating frontend frontend-Host-myapp2-my-domain-com-myapp2-stage-my-domain-com" 
2017-06-09T16:22:38.318982839Z time="2017-06-09T16:22:38Z" level=debug msg="Wiring frontend frontend-Host-myapp2-my-domain-com-myapp2-stage-my-domain-com to entryPoint http" 
2017-06-09T16:22:38.318987264Z time="2017-06-09T16:22:38Z" level=debug msg="Creating route route-frontend-Host-myapp2-my-domain-com-myapp2-stage-my-domain-com Host:myapp2.my-domain.com,myapp2-stage.my-domain.com" 
2017-06-09T16:22:38.318991884Z time="2017-06-09T16:22:38Z" level=debug msg="Creating backend backend-ddd-myapp2-stage-2-2-0-2-0-0-0-ssl" 
2017-06-09T16:22:38.318996168Z time="2017-06-09T16:22:38Z" level=debug msg="Creating load-balancer wrr" 
2017-06-09T16:22:38.319385909Z time="2017-06-09T16:22:38Z" level=debug msg="Creating server server-ddd-myapp2-stage-2-2-0-2-0-0-0-ssl-1 at https://10.0.3.7:9000 with weight 0" 
2017-06-09T16:22:38.319427537Z time="2017-06-09T16:22:38Z" level=debug msg="Wiring frontend frontend-Host-myapp2-my-domain-com-myapp2-stage-my-domain-com to entryPoint https" 
2017-06-09T16:22:38.319449626Z time="2017-06-09T16:22:38Z" level=debug msg="Creating route route-frontend-Host-myapp2-my-domain-com-myapp2-stage-my-domain-com Host:myapp2.my-domain.com,myapp2-stage.my-domain.com" 
2017-06-09T16:22:38.319461465Z time="2017-06-09T16:22:38Z" level=debug msg="Creating backend backend-ddd-myapp2-stage-2-2-0-2-0-0-0-ssl" 
2017-06-09T16:22:38.319476110Z time="2017-06-09T16:22:38Z" level=debug msg="Creating load-balancer wrr" 
2017-06-09T16:22:38.319484326Z time="2017-06-09T16:22:38Z" level=debug msg="Creating server server-ddd-myapp2-stage-2-2-0-2-0-0-0-ssl-1 at https://10.0.3.7:9000 with weight 0" 
2017-06-09T16:22:38.319499644Z time="2017-06-09T16:22:38Z" level=info msg="Server configuration reloaded on :443" 
2017-06-09T16:22:38.319505207Z time="2017-06-09T16:22:38Z" level=info msg="Server configuration reloaded on :80" 
2017-06-09T16:22:38.617268318Z time="2017-06-09T16:22:38Z" level=debug msg="Cannot get key traefik-stage/alias Key not found in store, setting default traefik-stage" 
2017-06-09T16:22:38.735038061Z time="2017-06-09T16:22:38Z" level=info msg="Node 1ae7b5d5-9382-4a67-b608-1e39e6fba1e5 elected leader ♚" 
2017-06-09T16:22:38.735155690Z time="2017-06-09T16:22:38Z" level=info msg="Starting ACME renew job..." 
2017-06-09T16:22:38.832338566Z time="2017-06-09T16:22:38Z" level=debug msg="Transaction aac18cfa-9e66-44c1-9ca4-0433e6d6e0bc begins" 
2017-06-09T16:22:38.832743436Z time="2017-06-09T16:22:38Z" level=debug msg="Configuration received from provider consul: {}" 
2017-06-09T16:22:38.832775050Z time="2017-06-09T16:22:38Z" level=debug msg="Last consul config received less than 2s, waiting..." 
2017-06-09T16:22:38.922562919Z time="2017-06-09T16:22:38Z" level=debug msg="Cannot get key traefik-stage/alias Key not found in store, setting default traefik-stage" 
2017-06-09T16:22:39.079982533Z time="2017-06-09T16:22:39Z" level=debug msg="Configuration received from provider consul: {}" 
2017-06-09T16:22:39.080049684Z time="2017-06-09T16:22:39Z" level=debug msg="Last consul config received less than 2s, waiting..." 
2017-06-09T16:22:39.103499147Z time="2017-06-09T16:22:39Z" level=error msg="Error calling Leadership listener: failed to acquire lock: Invalid key. Key must not begin with a '/': /var/run/acme.json/lock" 
2017-06-09T16:22:39.166044562Z time="2017-06-09T16:22:39Z" level=debug msg="Cannot get key traefik-stage/alias Key not found in store, setting default traefik-stage" 
2017-06-09T16:22:39.370791846Z time="2017-06-09T16:22:39Z" level=debug msg="Configuration received from provider consul: {}" 
2017-06-09T16:22:39.370938439Z time="2017-06-09T16:22:39Z" level=debug msg="Last consul config received less than 2s, waiting..." 
2017-06-09T16:22:41.374581362Z time="2017-06-09T16:22:41Z" level=debug msg="Waited for consul config, OK" 
2017-06-09T16:22:41.374643174Z time="2017-06-09T16:22:41Z" level=debug msg="Creating frontend frontend-Host-myapp1-my-domain-com-myapp1-stage-my-domain-com" 
2017-06-09T16:22:41.374688194Z time="2017-06-09T16:22:41Z" level=debug msg="Wiring frontend frontend-Host-myapp1-my-domain-com-myapp1-stage-my-domain-com to entryPoint http" 
2017-06-09T16:22:41.374695851Z time="2017-06-09T16:22:41Z" level=debug msg="Creating route route-frontend-Host-myapp1-my-domain-com-myapp1-stage-my-domain-com Host:myapp1.my-domain.com,myapp1-stage.my-domain.com" 
2017-06-09T16:22:41.374702925Z time="2017-06-09T16:22:41Z" level=debug msg="Creating backend backend-ddd-myapp1-stage-2-2-0-2-0-0-0-ssl" 
2017-06-09T16:22:41.374733438Z time="2017-06-09T16:22:41Z" level=debug msg="Creating load-balancer wrr" 
2017-06-09T16:22:41.374741833Z time="2017-06-09T16:22:41Z" level=debug msg="Creating server server-ddd-myapp1-stage-2-2-0-2-0-0-0-ssl-1 at https://10.0.3.3:9000 with weight 0" 
2017-06-09T16:22:41.374839405Z time="2017-06-09T16:22:41Z" level=debug msg="Wiring frontend frontend-Host-myapp1-my-domain-com-myapp1-stage-my-domain-com to entryPoint https" 
2017-06-09T16:22:41.374854017Z time="2017-06-09T16:22:41Z" level=debug msg="Creating route route-frontend-Host-myapp1-my-domain-com-myapp1-stage-my-domain-com Host:myapp1.my-domain.com,myapp1-stage.my-domain.com" 
2017-06-09T16:22:41.375226321Z time="2017-06-09T16:22:41Z" level=debug msg="Creating backend backend-ddd-myapp1-stage-2-2-0-2-0-0-0-ssl" 
2017-06-09T16:22:41.375243069Z time="2017-06-09T16:22:41Z" level=debug msg="Creating load-balancer wrr" 
2017-06-09T16:22:41.375250166Z time="2017-06-09T16:22:41Z" level=debug msg="Creating server server-ddd-myapp1-stage-2-2-0-2-0-0-0-ssl-1 at https://10.0.3.3:9000 with weight 0" 
2017-06-09T16:22:41.375256492Z time="2017-06-09T16:22:41Z" level=debug msg="Creating frontend frontend-Host-myapp2-my-domain-com-myapp2-stage-my-domain-com" 
2017-06-09T16:22:41.375262419Z time="2017-06-09T16:22:41Z" level=debug msg="Wiring frontend frontend-Host-myapp2-my-domain-com-myapp2-stage-my-domain-com to entryPoint http" 
2017-06-09T16:22:41.375272098Z time="2017-06-09T16:22:41Z" level=debug msg="Creating route route-frontend-Host-myapp2-my-domain-com-myapp2-stage-my-domain-com Host:myapp2.my-domain.com,myapp2-stage.my-domain.com" 
2017-06-09T16:22:41.375278891Z time="2017-06-09T16:22:41Z" level=debug msg="Creating backend backend-ddd-myapp2-stage-2-2-0-2-0-0-0-ssl" 
2017-06-09T16:22:41.375284443Z time="2017-06-09T16:22:41Z" level=debug msg="Creating load-balancer wrr" 
2017-06-09T16:22:41.375335382Z time="2017-06-09T16:22:41Z" level=debug msg="Creating server server-ddd-myapp2-stage-2-2-0-2-0-0-0-ssl-1 at https://10.0.3.7:9000 with weight 0" 
2017-06-09T16:22:41.375344359Z time="2017-06-09T16:22:41Z" level=debug msg="Wiring frontend frontend-Host-myapp2-my-domain-com-myapp2-stage-my-domain-com to entryPoint https" 
2017-06-09T16:22:41.375350512Z time="2017-06-09T16:22:41Z" level=debug msg="Creating route route-frontend-Host-myapp2-my-domain-com-myapp2-stage-my-domain-com Host:myapp2.my-domain.com,myapp2-stage.my-domain.com" 
2017-06-09T16:22:41.375356724Z time="2017-06-09T16:22:41Z" level=debug msg="Creating backend backend-ddd-myapp2-stage-2-2-0-2-0-0-0-ssl" 
2017-06-09T16:22:41.375362361Z time="2017-06-09T16:22:41Z" level=debug msg="Creating load-balancer wrr" 
2017-06-09T16:22:41.375367938Z time="2017-06-09T16:22:41Z" level=debug msg="Creating server server-ddd-myapp2-stage-2-2-0-2-0-0-0-ssl-1 at https://10.0.3.7:9000 with weight 0" 
2017-06-09T16:22:41.375373661Z time="2017-06-09T16:22:41Z" level=info msg="Server configuration reloaded on :443" 
2017-06-09T16:22:41.375379195Z time="2017-06-09T16:22:41Z" level=info msg="Server configuration reloaded on :80" 
2017-06-09T16:22:53.337794486Z time="2017-06-09T16:22:53Z" level=debug msg="Filtering container without port and no traefik.port label traefik.1" 
2017-06-09T16:22:53.339047817Z time="2017-06-09T16:22:53Z" level=debug msg="Validation of load balancer method for backend backend-ddd-myapp1-stage-2-2-0-2-0-0-0-ssl failed: invalid load-balancing method ''. Using default method wrr." 
2017-06-09T16:22:53.339101405Z time="2017-06-09T16:22:53Z" level=debug msg="Validation of load balancer method for backend backend-ddd-myapp2-stage-2-2-0-2-0-0-0-ssl failed: invalid load-balancing method ''. Using default method wrr." 
2017-06-09T16:22:53.339251375Z time="2017-06-09T16:22:53Z" level=debug msg="Configuration received from provider docker: {"backends":{"backend-ddd-myapp1-stage-2-2-0-2-0-0-0-ssl":{"servers":{"server-ddd-myapp1-stage-2-2-0-2-0-0-0-ssl-1":{"url":"https://10.0.3.3:9000","weight":0}},"loadBalancer":{"method":"wrr"}},"backend-ddd-myapp2-stage-2-2-0-2-0-0-0-ssl":{"servers":{"server-ddd-myapp2-stage-2-2-0-2-0-0-0-ssl-1":{"url":"https://10.0.3.7:9000","weight":0}},"loadBalancer":{"method":"wrr"}}},"frontends":{"frontend-Host-myapp1-my-domain-com-myapp1-stage-my-domain-com":{"entryPoints":["http","https"],"backend":"backend-ddd-myapp1-stage-2-2-0-2-0-0-0-ssl","routes":{"route-frontend-Host-myapp1-my-domain-com-myapp1-stage-my-domain-com":{"rule":"Host:myapp1.my-domain.com,myapp1-stage.my-domain.com"}},"passHostHeader":true,"priority":0,"basicAuth":[]},"frontend-Host-myapp2-my-domain-com-myapp2-stage-my-domain-com":{"entryPoints":["http","https"],"backend":"backend-ddd-myapp2-stage-2-2-0-2-0-0-0-ssl","routes":{"route-frontend-Host-myapp2-my-domain-com-myapp2-stage-my-domain-com":{"rule":"Host:myapp2.my-domain.com,myapp2-stage.my-domain.com"}},"passHostHeader":true,"priority":0,"basicAuth":[]}}}" 
2017-06-09T16:22:53.339299039Z time="2017-06-09T16:22:53Z" level=info msg="Skipping same configuration for provider docker" 
2017-06-09T16:23:08.335094957Z time="2017-06-09T16:23:08Z" level=debug msg="Filtering container without port and no traefik.port label traefik.1" 
2017-06-09T16:23:08.336505132Z time="2017-06-09T16:23:08Z" level=debug msg="Validation of load balancer method for backend backend-ddd-myapp1-stage-2-2-0-2-0-0-0-ssl failed: invalid load-balancing method ''. Using default method wrr." 
2017-06-09T16:23:08.336551553Z time="2017-06-09T16:23:08Z" level=debug msg="Validation of load balancer method for backend backend-ddd-myapp2-stage-2-2-0-2-0-0-0-ssl failed: invalid load-balancing method ''. Using default method wrr." 
2017-06-09T16:23:08.336675752Z time="2017-06-09T16:23:08Z" level=debug msg="Configuration received from provider docker: {"backends":{"backend-ddd-myapp1-stage-2-2-0-2-0-0-0-ssl":{"servers":{"server-ddd-myapp1-stage-2-2-0-2-0-0-0-ssl-1":{"url":"https://10.0.3.3:9000","weight":0}},"loadBalancer":{"method":"wrr"}},"backend-ddd-myapp2-stage-2-2-0-2-0-0-0-ssl":{"servers":{"server-ddd-myapp2-stage-2-2-0-2-0-0-0-ssl-1":{"url":"https://10.0.3.7:9000","weight":0}},"loadBalancer":{"method":"wrr"}}},"frontends":{"frontend-Host-myapp1-my-domain-com-myapp1-stage-my-domain-com":{"entryPoints":["http","https"],"backend":"backend-ddd-myapp1-stage-2-2-0-2-0-0-0-ssl","routes":{"route-frontend-Host-myapp1-my-domain-com-myapp1-stage-my-domain-com":{"rule":"Host:myapp1.my-domain.com,myapp1-stage.my-domain.com"}},"passHostHeader":true,"priority":0,"basicAuth":[]},"frontend-Host-myapp2-my-domain-com-myapp2-stage-my-domain-com":{"entryPoints":["http","https"],"backend":"backend-ddd-myapp2-stage-2-2-0-2-0-0-0-ssl","routes":{"route-frontend-Host-myapp2-my-domain-com-myapp2-stage-my-domain-com":{"rule":"Host:myapp2.my-domain.com,myapp2-stage.my-domain.com"}},"passHostHeader":true,"priority":0,"basicAuth":[]}}}" 
2017-06-09T16:23:08.336718473Z time="2017-06-09T16:23:08Z" level=info msg="Skipping same configuration for provider docker" 

如果上述是不可能的....什麼是這樣的要求推薦的設置?即N個traefik實例,使用共享配置,共享ACME,但源自docker的前端/後端。

+0

這是什麼都與'讓-encrypt' ... – War10ck

+0

HTTPS做:// github上。com/containous/traefik/issues/1727 – bitsofinfo

+0

https://github.com/bitsofinfo/traefik-consul-docker-issue-01 – bitsofinfo

回答