問題描述:
這個主要是由於我是在本機的虛擬機中用docker,自己部署了harbor以後,harbor是由多個docker服務支撐的,每次關機下班,都需要把虛擬機掛起,這些容器也就被停止了,每次手動啓動很麻煩,所以回想了下學習的linux命令,用一行命令可以直接重啓所有的停止容器。
解決辦法:
- 查看所有的docker已停止的容器的辦法:
docker ps -a | grep Exited
可以顯示出所有已停止的容器,那麼只需要取到第一列容器id就可以用啓動命令來啓動它們了。 -
獲取停止的容器id:
可以用cut,也可以用awk。
cut: docker ps -a | grep Exited | cut -d' ' -f1 awk: docker ps -a | grep Exited | awk '{print $1}'
-
將查到的停止的容器id作爲參數傳給啓動命令:
docker ps -a | grep Exited | awk '{print $1}' |xargs docker start
xargs可以將前面命令得到的結果作爲參數傳遞給下個命令,用到這裏剛好合適。