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
}