Hacker Newsnew | past | comments | ask | show | jobs | submit | theod's commentslogin

Docker 1.12 built-in load-balancing supports both VIP based LB using IPVS and also DNS-RR and it is configurable per-service. VIP based LB is the default though. All of these will be fully documented shortly.


As mentioned in https://github.com/docker/docker/issues/3043#issuecomment-51..., multicast works in bridge driver. It works for the default docker0 bridge network and also other user-defined bridge networks.

Docker 1.9 brought in Native multi-host networking support using overlay driver. Proper multicast support for the overlay driver would require proper multicast control-plane (L2 & L3). Contributions welcome.


Yes. `--ip` is supported only on user-defined networks. That is because, the subnet for the default bridge (docker0) can be changed (via --bip) or user can change the user-specified default bridge (via -b) on daemon restarts. If the subnet backed by these default bridge's change, then the container with a assigned `--ip` will fail as well.

Having said that, with Docker 1.9 & above, IP address management and Network plumbing are separate concerns and both are pluggable. One could implement a network plugin with any logic and continue to enjoy all the built-in IPAM features (including --ip). Hence, if you have a specific network plumbing requirement, you could easily spin up a plugin (or use one of the many network plugins that are available out there).


FYI. TCP support for the embedded DNS was added via https://github.com/docker/docker/pull/19680.


Docker's native CNM (Container Network Model) provides a out-of-the-box solution to support this use-case. Pls refer to https://github.com/docker/libnetwork/blob/master/docs/design... for more info on Docker CNM. This eliminates the need for any custom scripts to achieve the swappable use-case that you have in mind.

The CNM is realized using the newly introduced Experimental Networking solutions which includes : Network & Service UI, Pluggable Service-Discovery and Native Multi-Host cross-container connectivity. More information on trying out these experimental feature : https://github.com/docker/docker/blob/master/experimental/ne... https://github.com/docker/docker/blob/master/experimental/RE...

Service (aka endpoint) owns the networking configs (such as ip-address, mac-address, etc...) and the container that backs the service can be swapped while retaining the same networking and service configs. Hence swapping a container between older to newer version of app server is just a matter of detaching a service from the older container and attaching the same service back to the newer container. Also, Please note that a container can belong to multiple networks and each container can publish different services in different network.

With these simple and composable CNM design, your use-case can be mapped to the CNM model. A quick diagram explaining the concept : https://docs.google.com/drawings/d/1LvD94UwfinQelpEqT9BaRYmi...

We can add more detailed documentation for this specific use-case. Please join us in https://github.com/docker/libnetwork and IRC@freenode #docker-network channel to discuss this in more detail.


Thanks @theod, will definitely check that out!


Some of the container restart issues related to Links were resolved in 1.4+ & 1.5 releases. Please refer to the thread https://github.com/docker/docker/issues/6350.

Also, the network model is being revamped via https://github.com/docker/docker/issues/9983 to provide a more flexible plugins based Networking system which can also provide multi-host solution that is more powerful than the existing single-host multi-container linking system.


The concepts of Linking are being revisited via the network revamp proposal with the help of Network Plugins : https://github.com/docker/docker/issues/9983. With the plugins providing State Distribution and Service Discovery the containers can be effectively linked across multi-host network.


Please refer to https://github.com/docker/docker/issues/9983. The Networking concepts are completely revamped using this proposal. Links are being replaced with concepts like Network and endpoints. State Distribution and Service Discovery can also be used by the Network plugins to provide an effective multi-host networking solution.


Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: