我重新部署搬运工集装箱每当有来自gitlab触发通过詹金斯管道。所以,我不能够删除泊坞窗容器与形象的名字。我按照下面的命令:
sh 'docker ps -f name=imagename -q | xargs --no-run-if-empty docker container stop
和
sh 'docker container ls -a -fname=imagename -q | xargs -r docker container rm'
上述命令是不能与图像名删除容器。
我曾尝试下面的命令也。
sh 'docker ps -a | awk '{ print $1,$2 }' | grep imagename | awk '{print $1 }' | xargs -I {} docker rm -f {}'
但上面的命令是只能通过命令方式删除容器。但它不是通过詹金斯管道的工作
我需要像名字删除所有容器。例如,如果有5个容器与一个图像名。然后,通过形象的名字我需要删除5个集装箱。是否有可能通过管道詹金斯?
任何人都可以帮助我吗?
在詹金斯的管道,你需要逃避你$
。您还使用单引号都詹金斯,并在命令你正在运行。相反,那些逃脱你的命令,你可以使用从詹金斯不同的shell语法:
sh """
docker ps -a \
| awk '{ print \$1,\$2 }' \
| grep imagename \
| awk '{print \$1 }' \
| xargs -I {} docker rm -f {}
"""