I know this is old but since it sill comes up in google search so it is important to have a practical answer on it.
In this answer I assumed that you are going to also deploy your app on Windows Server at some point
As Robin Moffatt said, Kafka is not supported "cleanly"(I added this ^^) for windows and docker images for linux containers on windows are fully supported.
But do not develop your app based on linux containers on docker windows, because the linux containers are only working with windows 10 and you don't have them on windows server (Yeah I know there is an experimental vesion ready but you can not trust that with production and it doesn't really work on old build versions of windows server 2016 if your customers like ours are old school type people).
I am also currently struggling with the same problem and I am contacting our project manager back and forth to choose from one of the solutions below:
- Find a good alternative to Kafka that works on windows and also runs on windows containers
- Run your app on a Linux machine and have docker installed there. if you are having microservices architecture with .net core it runs perfectly on Linux.
- This way is like reinventing some parts of a wheel. You need to create windows services for the confluent Kafka that they provide to you in a zip file. You need to try having schema-registry, kafka connect and also control center up and running yourself. Controlling Kafka without the help of control center is a pain specially in production environment when you are not gonna be the one gonna install everything (If you were able to go with option 3 you probably can create your own windows image for Kafka (The wheel invented))
I know this is not really helpful but it is the result of my research about this Issue and I hope either Microsoft finishes the development of Linux containers or confluent releases a windows container image. For me the solution number 2 if possible is the best solution.