diff --git a/eng/DependencyManagement.psm1 b/eng/DependencyManagement.psm1 index ca2f65aa5a..21c3899ce9 100644 --- a/eng/DependencyManagement.psm1 +++ b/eng/DependencyManagement.psm1 @@ -33,3 +33,7 @@ function Get-ProductReleaseState() { return 'Prerelease' } } + +function Get-DockerOs() { + return docker version -f "{{ .Server.Os }}" +} diff --git a/eng/dockerfile-templates/Get-GeneratedDockerfiles.ps1 b/eng/dockerfile-templates/Get-GeneratedDockerfiles.ps1 index dcd79a1ed9..fff42ae0ab 100644 --- a/eng/dockerfile-templates/Get-GeneratedDockerfiles.ps1 +++ b/eng/dockerfile-templates/Get-GeneratedDockerfiles.ps1 @@ -24,7 +24,9 @@ if (-Not $OutputDirectory) { $onDockerfilesGenerated = { param($ContainerName) - if (-Not $Validate) { + # On Windows, ImageBuilder is run locally due to limitations with running Docker client within a container. + # Remove linux condition when https://github.com/dotnet/docker-tools/issues/159 is resolved + if ($(Get-DockerOs) -eq "linux" -and -not $Validate) { Exec "docker cp ${ContainerName}:/repo/src $OutputDirectory" } } diff --git a/eng/readme-templates/Get-GeneratedReadmes.ps1 b/eng/readme-templates/Get-GeneratedReadmes.ps1 index b0d3c53f70..cafcb7bf20 100644 --- a/eng/readme-templates/Get-GeneratedReadmes.ps1 +++ b/eng/readme-templates/Get-GeneratedReadmes.ps1 @@ -21,7 +21,9 @@ function CopyReadme([string]$containerName, [string]$readmeRelativePath) { $onDockerfilesGenerated = { param($ContainerName) - if (-Not $Validate) { + # On Windows, ImageBuilder is run locally due to limitations with running Docker client within a container. + # Remove linux condition when https://github.com/dotnet/docker-tools/issues/159 is resolved. + if ($(Get-DockerOs) -eq "linux" -and -not $Validate) { CopyReadme $ContainerName "README.aspire-dashboard.md" CopyReadme $ContainerName "README.aspnet.md" CopyReadme $ContainerName "README.md"