Docker Community Forums

Share and learn in the Docker community.

How does Docker for Azure compare to Azure Container Service?


(Andrewconnell) #1

So I’m a little confused as to the differences between these two things. Microsoft Azure has a service, Azure Container Service (ACS), that will create either a Swarm-based cluster or Mesosphere-based cluster.

Aside from the mesos option, I’m trying to wrap my brain about the differences as well as adv/disadv between Docker’s Docker for Azure & Azure’s ACS offerings.


(Michael Friis) #2

Docker for Azure deploys Docker 1.12 with swarm-mode enabled out of the box. Docker for Azure also integrates with the Azure loadbalancer to automatically expose services with mapped public ports.

We’re working with Microsoft to see if there’s a way to reconcile Docker for Azure and ACS.


(Andrewconnell) #3

Cool… thanks for the insight & extra info.

So am I correct in understanding from your response that unlike Docker Cloud or the default Swarm setup in 1.12, Azure Traffic Manager is used as the Docker DNS for services?


(Michael Friis) #4

@andrewconnell Docker for Azure uses the Azure Load Balancer service, not Traffic Manager. It’s just used for loadbalancing. Docker swarm-mode has its own DNS service that’s used for internal loadbalancing and service discovery: https://docs.docker.com/engine/swarm/key-concepts/#/load-balancing

Let me know if that doesn’t answer your question.


(Tnelis) #5

FWIW I think there is a lot of value in combining the Docker Swarm part of ACS and D4A, I hope these talks with Microsoft are fruitful.


(Michael Friis) #6

What are the parts of ACS that you’d like to combine with Docker for Azure?


(Tnelis) #7

Thank you for your interest.

Right now it seems every user needs to make the choice between Docker for Azure and Azure Container Service, yet the offerings seem overly similar. We’d love a clear answer as to what the respective vision of each offering is, or even better a proper and current comparison (both technical and non-technical).

We’re in that position of having to choose right now; we tested ACS more than a year ago and were a bit dissatisfied with how bare bones it was at the time. We’ve been playing with D4A for a few months now and are quite pleased with the level of integration (e.g. with the LB). Since, it looks like ACS has evolved a lot, with Microsoft even spawning interesting complements like ACI. So now we feel like we should test it again just to make sure we understand the difference as things stand today, if there are any (we aim to deploy our application on a Swarm this month or the next).

This kind of back-and-forth during evaluation phases feels a bit unnecessary when there is no clear documented product differentiation between the two (that we can see, anyway). We’ll probably do our job and commit to one and hopefully never look back, but I imagine all other new users will have the same (currently unanswered) questions after us. If there is truly no reason (other than historical reasons or purely as an effect of Conway’s law) for the existence of two independent offerings, then it would make sense to me that both companies collaborate on all the integration work between Docker Swarm and Azure. AFAICS this could take the form of a shared ARM template.


(Michael Friis) #8

Docker and Microsoft are separate companies, but our goals are mostly the same. And that includes a shared goal to make sure that Azure is a great place to run Docker. I understand why having to choose can be annoying, but it also gives you choice and access to different products that might fit your use case better.

I recommend trying out both Docker for Azure and ACS and see which one works best for you.


(Techaccounts) #9

I’m very disappointed with the support provided by Docker+Azure. It seems both companies support each other and we clients must to be begging here to get things done. ALL (yes, I’ve said ALL) tutorials on azure doesn’t work for many reasons. I bet none staff from Microsoft has tried to run any of this tutorials. Sometimes is az cli issues, other regions support and today (after seeing Docker con 18 videos) I’ve finally found out that Docker CE templates is no longer supported on Azure (neither on AWS) anymore !!! In order to deploy a Swarm you have to use Docker EE which is quite new and too complicated to go through. I was just trying to deploy 2 containers in a network but it seems that Azure+Docker is not helping us with that. I’ve stop begging.