Modules/businessdev.ALbuild.Containers/Public/Get-BcContainer.ps1
|
function Get-BcContainer { <# .SYNOPSIS Lists Business Central (Docker) containers, optionally filtered by name. .PARAMETER Name Optional exact container name to filter by. .PARAMETER DockerExecutable The Docker executable to use (default 'docker'). .EXAMPLE Get-BcContainer Get-BcContainer -Name bld .OUTPUTS PSCustomObject with Name, Status, Image, Id, Running. #> [CmdletBinding()] [OutputType([PSCustomObject])] param( [string] $Name, [string] $DockerExecutable = 'docker' ) $dockerArgs = @('ps', '--all', '--no-trunc', '--format', '{{json .}}') if ($Name) { $dockerArgs += @('--filter', "name=^$Name`$") } $result = Invoke-BcDocker -DockerExecutable $DockerExecutable -Quiet -PassThru -Arguments $dockerArgs if (-not $result.Success) { throw "Failed to list containers: $($result.StdErr.Trim())" } $containers = ConvertFrom-BcContainerList -Output $result.StdOut if ($Name) { $containers = $containers | Where-Object { $_.Name -eq $Name } } return $containers } |