|
1 | 1 | #!/bin/bash |
2 | 2 |
|
| 3 | +checkPatterns() { |
| 4 | + keepit=$3 |
| 5 | + if [ -n "$1" ]; then |
| 6 | + for PATTERN in $(echo $1 | tr "," "\n"); do |
| 7 | + if [[ "$2" = $PATTERN* ]]; then |
| 8 | + if [ $DEBUG ]; then echo "DEBUG: Matches $PATTERN - keeping"; fi |
| 9 | + keepit=1 |
| 10 | + else |
| 11 | + if [ $DEBUG ]; then echo "DEBUG: No match for $PATTERN"; fi |
| 12 | + fi |
| 13 | + done |
| 14 | + fi |
| 15 | + return $keepit |
| 16 | +} |
| 17 | + |
3 | 18 | if [ ! -e "/var/run/docker.sock" ]; then |
4 | 19 | echo "=> Cannot find docker socket(/var/run/docker.sock), please check the command!" |
5 | 20 | exit 1 |
|
75 | 90 | CONTAINER_NAME=$(docker inspect --format='{{(index .Name)}}' $CONTAINER_ID) |
76 | 91 | if [ $DEBUG ]; then echo "DEBUG: Check container image $CONTAINER_IMAGE named $CONTAINER_NAME"; fi |
77 | 92 | keepit=0 |
78 | | - if [ -n "${KEEP_CONTAINERS}" ]; then |
79 | | - for PATTERN in $(echo ${KEEP_CONTAINERS} | tr "," "\n"); do |
80 | | - if [[ "${CONTAINER_IMAGE}" = $PATTERN* ]]; then |
81 | | - if [ $DEBUG ]; then echo "DEBUG: Matches $PATTERN - keeping"; fi |
82 | | - keepit=1 |
83 | | - else |
84 | | - if [ $DEBUG ]; then echo "DEBUG: No match for $PATTERN"; fi |
85 | | - fi |
86 | | - done |
87 | | - fi |
88 | | - if [ -n "${KEEP_CONTAINERS_NAMED}" ]; then |
89 | | - for PATTERN in $(echo ${KEEP_CONTAINERS_NAMED} | tr "," "\n"); do |
90 | | - if [[ "${CONTAINER_NAME}" = $PATTERN* ]]; then |
91 | | - if [ $DEBUG ]; then echo "DEBUG: Matches $PATTERN - keeping"; fi |
92 | | - keepit=1 |
93 | | - else |
94 | | - if [ $DEBUG ]; then echo "DEBUG: No match for $PATTERN"; fi |
95 | | - fi |
96 | | - done |
97 | | - fi |
| 93 | + checkPatterns "${KEEP_CONTAINERS}" "${CONTAINER_IMAGE}" $keepit |
| 94 | + keepit=$? |
| 95 | + checkPatterns "${KEEP_CONTAINERS_NAMED}" "${CONTAINER_NAME}" $keepit |
| 96 | + keepit=$? |
98 | 97 | if [[ $keepit -eq 0 ]]; then |
99 | 98 | echo "Removing stopped container $CONTAINER_ID" |
100 | 99 | docker rm -v $CONTAINER_ID |
|
0 commit comments