Blog khusus untuk berbagi ilmu dan tulisan

Membersikan docker container, image dan volume docker

Hai ketemu lagi, udah lama ngak nulis lagi. Kali ini saya akan membuat sebuah cara untuk membersihkan image container, dan volume yang ngak kepakai pada sebuah server. Ok, langsung saja simak cara berikut ini.

Pertama anda harus masuk ke server yang mempunyai service docker, kebudian buatlah nama scriptnya dengan nama : cleandocker.sh dengan cara

# nano cleandocker.sh

kemudian copy script berikut.
Untuk script bisa di copas di bawah ini ini


#!/bin/bash

# options:
# remove stopped containers and untagged images
#   $ dkcleanup 
# remove all stopped|running containers and untagged images
#   $ dkcleanup --reset
# remove containers|images|tags matching {repository|image|repository\image|tag|image:tag}
# pattern and untagged images
#   $ dkcleanup --purge {image}
# everything
#   $ dkcleanup --nuclear

if [ "$1" == "--reset" ]; then
    # Remove all containers regardless of state
    docker rm -vf $(docker ps -a -q) 2>/dev/null || echo "No more containers to remove."
elif [ "$1" == "--purge" ]; then
    # Attempt to remove running containers that are using the images we're trying to purge first.
    (docker rm -vf $(docker ps -a | grep "$2/\|/$2 \| $2 \|:$2\|$2-\|$2:\|$2_" | awk '{print $1}') 2>/dev/null || echo "No containers using the \"$2\" image, continuing purge.") &&\
    # Remove all images matching arg given after "--purge"
    #docker rmi $(docker images | grep "$2/\|/$2 \| $2 \|$2 \|$2-\|$2_" | awk '{print $3}') 2>/dev/null || echo "No images matching \"$2\" to purge."
    docker rmi $(docker images | grep "$2/\|/$2 \| $2 \|$2 \|$2-\|$2_" | awk '{print $1 ":" $2}') 2>/dev/null || echo "No images matching \"$2\" to purge."
else
    # This alternate only removes "stopped" containers
    docker rm -vf $(docker ps -a | grep "Exited" | awk '{print $1}') 2>/dev/null || echo "No stopped containers to remove."
fi

if [ "$1" == "--nuclear" ]; then
    docker rm -vf $(docker ps -a -q) 2>/dev/null || echo "No more containers to remove."
    docker rmi $(docker images -q) 2>/dev/null || echo "No more images to remove."
else
    # Always remove untagged images
    docker rmi $(docker images | grep "<none>" | awk '{print $3}') 2>/dev/null || echo "No untagged images to delete."
fi

exit 0

Setelah itu maka akan tampil seperti ini


Setelah itu jalankan scriptnya dengan cara : # sh cleandocker.sh
maka berikut tampilan sebelum dan sesudah di jalankan scriptnya

Sebelum



Sesudah








Thank you





Share:

Tidak ada komentar:

Posting Komentar

komentar di isi dengan sebaik-baiknya, agar dapat di mengerti oleh admin.

Postingan Populer

Label

Tugas (14) Linux (11) tulisan (7) Tutorial (5) Mutiara cinta (4) Cerita (3) Docker (1) bisnis (1)

Total Tayangan Halaman

Recent Posts

Pages