Balancing change: feedback + learning / impact to customers = change

I was reading a post about the frustration a customer had around the constant change. First, I do apologize for the frustration as it is difficult to continually learn new things when the things you’ve learned keep changing. With each change, we balance the impact it will have on our existing customers, the challenges they’re…


Visual Studio Docker tools support for Visual Studio 2015 and 2017

With the Visual Studio 2017 RC release, we’ve started down the path to finally shipping an official version of Visual Studio Docker tools; enabling developers to locally develop and debug containerized workloads. The latest Visual Studio 2017 RC Docker Tools added a number of anticipated features: Multi-container debugging, supporting true microservice scenarios Windows Server Containers…


Azure Container Registry User Accounts; Single, Multi, Admin and Service Principals

The Azure Container Registry went into public preview yesterday. We’re excited to add this core platform feature for the breadth of container deployments being added to Azure. These include Azure Container Service, Azure Service Fabric, Azure App Service and Azure Batch, …as of now. More are coming… When designing the Azure Container Registry, we felt it important…


Patching Docker Containers – The Balance of Secure and Functional

PaaS, IaaS, SaaS, CaaS, … The cloud is evolving at a rapid pace. We have increasingly more options for how to host and run the tools that empower our employees, customers, friends and family. New apps depend on the capabilities of underlying sdks, frameworks, services, platforms which depend on operating systems and hardware. For each…


Building Optimized Docker Images with ASP.NET Core

If you’re exploring docker, you’ll often see dockerfiles that demonstrate the simplicity of building a docker image by copying your source into a container and voila, you have a docker image with the environment packaged with your app. FROM microsoft/dotnet WORKDIR /app ENV ASPNETCORE_URLS http://+:80 EXPOSE 80 COPY . . RUN dotnet restore ENTRYPOINT [“dotnet”, “run”] While…


Running Scripts in a Docker Container from Windows- CR or CRLF

For Ignite 2016, I’m building out a demo for building your .NET Core code in a container. This is part of our story behind building optimized images. But, before I get to that post, what started out as something simple, something I’ve done on my Mac fairly easily turned into a frustrating experience from Windows. It…


Docker for Windows, Network Shares and $ in your password

If you’ve been using our docker tools you’ve noticed we depend highly on network sharing for Docker for Windows. For the Linux host to mount your Windows drives, you need to provide a username/password. What you may not realize is Linux has some special characters it may not always handle. Short story: if you’re having trouble with volume sharing &…


Configuring Docker for Windows Shared Drives / Volume Mounting with AD


If you’ve had a chance to work with the Docker for Windows beta, you’ve seen the promise for how much easier this can be compared to VirtualBox. That said, there are still some issues, thus the beta tag. One such issue is volume mounting. If you work for an enterprise, you more than likely log…


Building .NET Core Linux Docker Images with Visual Studio Team Services


If you’ve been wondering how to build a .NET Core app into a Docker image using VSTS, well here’s the current steps as of June 2016. Prerequisites You’ll need the following to complete this walk through Docker Tools for Visual Studio 0.21 to build the docker assets we’ll use for CI in VSTS Docker Tools for Visual Studio Team…


Defaulting to Docker for Windows with Docker Tools for Visual Studio

When using Docker Tools for Visual Studio, we default the Docker host to use Docker Toolbox. Or, more specifically, we set the default docker machine to be named default, which people typically create a VirtualBox host named default. This is documented here. Docker for Windows doesn’t use Docker-Machine, rather assumes no HOST entries are set. To…