Scenario: We are a team of 10 persons developing on both Mac and Windows. Our project uses NodeJS, .NET Framework 4.5, TSQL and IIS Server. To make our app cross platform we use Vagrant to setup Windows.
Problem: It seems we are using a lot of time to keep our development environment running. Deployment on Mac and Windows is different, deployment to test servers are difficult and the Vagrant machine is 19GB which makes deployment slow.
Solution? We are currently looking into Docker to see if it can make things better for us. The project looks really promising but it seems that we need to use Windows based containers to run IIS and .NET Framework that will only run on Windows Server 2016 and Windows 10 Anniversary Update.
Questions: Do we have to use Windows based containers? Can we run the dev environment on Mac without downloading virtual machine? Should we use Docker?
The answer is complicated:
If you're running on Macs, you need Linux containers. You can't run Windows containers.
There is NO Linux container version of IIS, only Windows container versions: https://hub.docker.com/r/microsoft/iis/
You can use .NET Core in Linux containers https://hub.docker.com/r/microsoft/dotnet/
You can use NodeJS in Linux containers https://hub.docker.com/_/node/
There are NodeJS and .NET Core modules for using TSQL
If you need each developer to have access to IIS and/or features that are in .NET 4.5 (instead of .NET Core) then you would need another way to do it. If people can test on a Windows 2016 Server somewhere, then you could do it.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With