Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Docker on Windows in Production

Tags:

docker

I've been asked to research Docker. The question that I cannot get a definitive response to is "can you run Docker on Windows in production?".

I keep seeing "Docker image containers can run natively on Linux and Windows. However, Windows images can run only on Windows hosts and Linux images can run only on Linux hosts, meaning a host server or a VM."

I'm not interested in running containerized windows applications (.net). We have Spring Boot (java) applications & are creating a microservices architecture. These containerized apps. don't need an OS running in the same container.

We also need an orchestration engine like Kubernetes and its unclear if this is something that can run in production on windows either.

I've been fighting the good fight trying to get deployment environments switched to Linux but that's a loosing battle at this point.

like image 995
maspen Avatar asked Aug 07 '17 19:08

maspen


People also ask

Is Docker for Windows production ready?

So, still a dev tool, which is now out of its own dev cycle and ready to be used productively by developers. Docker for Windows uses Hyper-V to host the docker host (a linux VM). Hyper-V on Windows Server is surely production ready.

Can I use Docker desktop in production?

You can use Docker EE for Windows Server, you can even use both Windows and Linux images on Windows Server 2019 by enabling some features. However there are some issues regarding networking as Windows has its own way to handle network. You won't be able to create bridges easily to connect 2 containers between them.

Does Docker work well on Windows?

Does Docker run on Linux, macOS, and Windows? 🔗 You can run both Linux and Windows programs and executables in Docker containers. The Docker platform runs natively on Linux (on x86-64, ARM and many other CPU architectures) and on Windows (x86-64).

Is it good to use Docker compose in production?

In Conclusion Using docker-compose is fine if you are working on a single machine or don't need to distribute containers across multiple inter-connected machines. If you would be alright with just using Docker by itself, you can use docker-compose as well.


1 Answers

It's not clear if the OP is asking "Can I run Docker on Windows in production" (like from a licensing perspective), or "should I run it" (like from an experience perspective.) I have an answer that should address both points.

It's indeed interesting to note first that as I write this, all the answers and comments so far are from 2018 or (like the question) 2017.

Here's at least one 2019 post on the topic from Docker (including listing clients running in production, so it addresses both points):

https://www.docker.com/blog/5-reasons-to-containerize-production-windows-apps-on-docker-enterprise/

And while the title refers to Docker Enterprise, the article does say "Hundreds of enterprises now run Windows container nodes in production", without that Enterprise caveat.

Even so, folks who may "not want to pay to run Docker Enterprise" should note that Windows 2016 and 2019 include a license of Docker Enterprise, free. (As for the recent upheaval of Docker where the Enterprise product was sold to Mirantis, there's no indication yet that will change the included Windows licensing of it.)

Still, I realize that the OP and other readers may seek still more (documented) evidence of production Docker deployment on Windows. I'll leave that for others to elaborate. Just didn't think this should stand here without anything more recent than July 2018.

like image 89
charlie arehart Avatar answered Sep 30 '22 18:09

charlie arehart