Comments (3)
In a services , all the containers are treated equally. You cannot set some containers are with a backup option while others are not.
What you can do is to create another service for backup purpose, and set the one you want to backup with EXTRA_SETTINGS=server backup BACKUP_SERVICE:PORT backup
from dockercloud-haproxy.
Thanks for the feedback @tifayuki ! After digging around in a couple of the python scripts I found the _merge_services_with_same_vhost function which was indeed causing my backup service to get merged with my primary service. To get around this I added a fake entry into my backup's VIRTUAL_HOST so the services wouldn't get merged, and then made use of the EXTRA_SETTINGS variable you suggested (but it only worked right if I added it to the primary service in the stackfile). Also had to throw in some VIRTUAL_HOST_WEIGHT entries to make sure the primary service was used over the backup service when both were available. Still need to do a bit more testing, but this stackfile appears to be working well on docker cloud so far.
proxytest-web:
image: 'dockercloud/hello-world:latest'
target_num_containers: 1
environment:
- NAME=Live
- EXTRA_SETTINGS=server Replica proxytest-web-failover:80 backup check
- VIRTUAL_HOST=http://full_endpoint.domain.for_proxy_service_goes_here.svc.dockerapp.io
- VIRTUAL_HOST_WEIGHT=10
expose:
- '80'
restart: always
tags:
- proxytest_live
proxytest-web-failover:
image: 'dockercloud/hello-world:latest'
target_num_containers: 1
environment:
- NAME=Replica
- VIRTUAL_HOST=http://full_endpoint.domain.for_proxy_service_goes_here.svc.dockerapp.io,http://www.trickhaproxyintogroupingthisintoitsownservice.com
- VIRTUAL_HOST_WEIGHT=1
expose:
- '80'
restart: always
tags:
- proxytest_replica
proxytest:
image: dockercloud/haproxy:latest
deployment_strategy: every_node
tags:
- proxytest
restart: always
roles:
- global
ports:
- "80:80"
- "1936:1936"
environment:
- STATS_AUTH=stats:stats
links:
- proxytest-web-failover
- proxytest-web
from dockercloud-haproxy.
Just wanted to say THANKS! for figuring this out. I wanted to do the same thing and your solution works very nicely. Thanks again.
from dockercloud-haproxy.
Related Issues (20)
- Unnecessary redirect from https to https scheme in SSL termination mode HOT 2
- TCP load balancing doesn't work in Docker Swarm Mode
- Basic auth on a single service? HOT 2
- DNS resolution of loggers at startup
- Still experimental in Swarm Mode? HOT 8
- You should be able to indicate explicit Service/Port combos.
- Source balancing does not work on Docker for Mac
- Some question about multi-ports balance and ADDITIONAL_SERVICES
- Is this project dead? HOT 16
- How can i achieve the desired result with NGINX? Anybody else knows?
- Not working properly when using compose mode + service with fixed container names HOT 1
- Swarm service deploy mode = global is not supported
- Put stats on Virtual Host on a port 80 / 443
- Service Unavailable (503) Custom HTML
- Support option for this application
- We have a requirment of altering url for backend service at haproxy, how can we achieve
- tcp的1m超时怎么解决
- Questions about the mysterious project deprecation HOT 1
- imcompatible with docker compose 1.23 HOT 5
- Can not link service or container in compose mode HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dockercloud-haproxy.