We had a problem with switching from 2.0 to 2.1 and, of course, it happened when deploying our app to production. We don't practice very good environment management and this was our first .NET Core app to go into production. Dev, QA and UAT were all on 2.0 but when it finally came time to deploy to production 2.1 had been released. 2.1 was installed on prod and we pushed our deployment and there were errors when trying to connect to the site (it was ASP.NET Core web app). We eventually uninstalled 2.1 and installed 2.0 and everything worked but it was frustrating to lose time to that.
So, there are Windows docker containers but that requires Windows Server 2016 (which we have limited instances of). Since this appplication used .NET Core we could use a normal (Linux) docker container but that would require our production operations to have Docker installed on the servers, which we don't currently have. .NET Core 3.0 is going to include the ability to package the runtime with your application so you no longer need to download and install a specific runtime but can just bundle with your app. We are definitely going to do that once 3.0 is released.
I did hit a problem when one of the certificates in certstore was not readable by everyone - it worked fine in 2.0 but 2.1 tried to read all certificates and choked on it throwing an unhelpful error when trying to use TLS to connect to any site