方式1:删除docker下的所有容器和镜像
docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)
docker rmi $(docker images -q)
方式2:当发布的时候分成多个 docker-compose.yml文件时,比如有系统支撑的mysql、redis、rabbitmq等的基础脚本docker-base目录,还有springboot分布式架构的docker-eureka、docker-feign、docker-hystrix,如下:
[root@localhost docker]# find . -name docker-compose.yml
./docker-base/docker-compose.yml
./docker-eureka/docker-compose.yml
./docker-feign/docker-compose.yml
./docker-hystrix/docker-compose.yml
这样分开的目的是方便发布与升级,我只需要重新删除指定的模块即可,其他的不用动。这时就可以用到如下脚本一键删掉指定模块的容器和镜像,创建clean.sh文件,然后录入以下内容:
#! /bin/bash
#找出docker-compose.yml 文件中的 镜像名称
grep -ai 'image' docker-compose.yml| awk '{ gsub (" ", "", $0);sub(/:/,"|");sub(/\r$/,""); print}' >