title: Run Linux containers in an Azure DevOps Windows hosted build agent
body: <p>I'm using Azure DevOps, and have a Linux build pipeline (<code>ubuntu-16.04</code>) setup that builds the code, starts containers with Docker Compose, then runs integration tests using the containers. This all works great.</p>
  
  <p>Now I want to setup a Windows build pipline that does the same thing. However, with both the <code>windows-2019</code> and <code>win-1803</code> images, when I do <code>docker stack up</code>, I get this error message:</p>
  
  <blockquote>
    <p>image operating system "linux" cannot be used on this platform</p>
  </blockquote>
  
  <p>So, I guess Docker is installed in Windows mode, and thought to switch it to Linux containers using:</p>
  
  <p><code>DockerCli.exe" -SwitchLinuxEngine</code></p>
  
  <p>or</p>
  
  <p><code>"%ProgramFiles%\Docker\Docker\DockerCli.exe" -SwitchLinuxEngine</code></p>
  
  <p>However, the <code>DockerCli.exe</code> executable doesn't seem to be installed at all.</p>
  
  <p>The only 2 things I can think of are:</p>
  
  <ol>
  <li>Setup a self-hosted build agent</li>
  <li>Somehow start the required containers somewhere else</li>
  </ol>
  
  <p>But both of these will be a lot of work to setup, which I really don't need, neither do I want the running costs, or the job of maintaining it.</p>
  
  <p>Are there any workarounds to run Linux containers on hosted Windows build agents?</p>