bash – docker ps -a |的Shell脚本grep查找运行的某些容器的数量

前端之家收集整理的这篇文章主要介绍了bash – docker ps -a |的Shell脚本grep查找运行的某些容器的数量前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想编写一个由我的开发构建服务器执行的脚本,该脚本将在构建和运行新容器之前删除任何“类似”的docker容器.

下面是我需要的bash脚本的伪代码

var name = $1
var number_of_results = # of containers returned from $(docker ps -a | grep "$name")

if(number_of_result > 0)
      docker rm -f $(docker ps -a | grep "$name")
以下脚本应该执行您想要的操作:
#!/bin/bash

name=$1

matchingStarted=$(docker ps --filter="name=$name" -q | xargs)
[[ -n $matchingStarted ]] && docker stop $matchingStarted

matching=$(docker ps -a --filter="name=$name" -q | xargs)
[[ -n $matching ]] && docker rm $matching

基本上,它会检查是否有一个带有提供名称的正在运行的容器,并在找到它时停止它.然后,它删除任何具有提供名称的容器.

注意:您可能希望添加一些参数验证,就像使用不带参数一样,此脚本将停止所有正在运行的容器并删除所有已停止的容器.我没有在这里添加它以保持简单易读.

原文链接:/bash/385736.html

猜你在找的Bash相关文章