使用powershell,根據name 查docker容器和鏡像的id


# 為了方便在win服務器上管理docker,比如自動build,自動刪除容器,鏡像等。需要使用腳本獲取容器id、鏡像id。
# 
# 使用方法:
# 
# 查詢名字是mysql的鏡像的id
# <腳本名稱> image mysql
# 查詢運行的容器中,名字是mysql-1的容器的id
# <腳本名稱> container mysql-1
# 查詢所有容器中,名字是mysql-1的容器的id
# <腳本名稱> container mysql-1 all


Function queryContainerIdByName {
    if (![String]::IsNullOrEmpty($all_obj)){
        $all = $all_obj.ToString()
        if ("all".Equals($all)) {
            docker ps -a | where {(-Split $_)[-1].Equals($name)} | %{(-Split $_)[0]}
        }
    } else {
        docker ps | where {(-Split $_)[-1].Equals($name)} | %{(-Split $_)[0]}
    }
}

Function queryImageIdByName {
    docker images | where {(-Split $_)[0].Equals($name)} | %{(-Split $_)[2]}
}

# $args不能在語句塊中訪問(花括號包圍的代碼,防沖突)
$index = $args[0].ToString()
$name = $args[1].ToString()
$all_obj = $args[2]

switch($index) {
    "container" {queryContainerIdByName}
    "image" {queryImageIdByName}
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM