I wanted to know if any companies are using Docker for Windows for hosting production services and web sites.
Docker for Linux is well established but I was curious if Docker for Windows is stable enough for production servers and if anyone else is using it right now. What kind of issues might we run into or if there are known issues.
I also want to know if it is possible to run Linux containers and Windows containers in a Windows Server 2016 machine at the same time.
According to the docs (about 3/4 down the “Get Started with Docker” page), you’ll have to turn off ‘experimental mode’ first:
"EXPERIMENTAL MODE
Both Docker for Windows Stable and Edge releases have the experimental version of Docker Engine enabled, described in the Docker Experimental Features README on GitHub.
Experimental features are not appropriate for production environments or workloads. They are meant to be sandbox experiments for new ideas. Some experimental features may become incorporated into upcoming stable releases, but others may be modified or pulled from subsequent Edge releases, and never released on Stable.
On both Edge and Stable releases, you can toggle experimental mode on and off. If you toggle it off, Docker for Windows uses the current generally available release of Docker Engine."
As far as running Linux and Windows containers at the same time: No. I haven’t found official docs on it, but think of this… why would they give you an option to switch between them if you could run them at the same time?
At any rate, this has been asked before, and nobody has mentioned a way to do it.
It will very well be possible to run Linux and Windows container workloads next to eachother. The LinuxKit project has been incorporated into Hyper-V, allowing the Windows Hyper-V manager to run both Windows and Linux containers. It’s currently in beta, and while running Linux containers through Hyper-V is already testable, ironically you can’t run them next to Windows container in that setting, YET.
Anybody have an answer to the original poster’s question? We’re about to move our website infrastructure to a new platform - python microservices running on docker containers. While the containers will be Linux we want to run them on Docker for Windows because our IT staff is more comfortable maintaining Windows servers and networking. This is scheduled to move to Production in December but I’m nervous about the amount of instability that I’m seeing. For example, this issue: https://github.com/docker/for-win/issues/2061. Answers, information, etc would be appreciated.
We just gave up wanting to use Docker on Windows. We had way too many stability problems on Windows Server, together with cryptic error messages in the event log à la “HNS failed with error: the parameter is incorrect”. After almost every server restart, we had to reinstall the whole docker environment. Sometimes containers suddenly could not ping each other anymore without any apparent reason. And a few days ago, after uninstalling docker, the server lost all network connectivity completely - network configuration completely destroyed. And so on… we decided that docker is not yet ready for production on Windows. We’ll look at it again in a year or so…