一次重啓所有已停止的docker容器

問題描述:

這個主要是由於我是在本機的虛擬機中用docker,自己部署了harbor以後,harbor是由多個docker服務支撐的,每次關機下班,都需要把虛擬機掛起,這些容器也就被停止了,每次手動啓動很麻煩,所以回想了下學習的linux命令,用一行命令可以直接重啓所有的停止容器。

解決辦法:

  1. 查看所有的docker已停止的容器的辦法:
    docker ps -a | grep Exited


    可以顯示出所有已停止的容器,那麼只需要取到第一列容器id就可以用啓動命令來啓動它們了。

  2. 獲取停止的容器id:
    可以用cut,也可以用awk。
     

    cut:
    docker ps -a | grep Exited | cut -d' ' -f1
    
    awk:
    docker ps -a | grep Exited | awk '{print $1}'

  3. 將查到的停止的容器id作爲參數傳給啓動命令:
     

    docker ps -a | grep Exited | awk '{print $1}' |xargs docker start

xargs可以將前面命令得到的結果作爲參數傳遞給下個命令,用到這裏剛好合適。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章