In continuation of my previous blog on “8. DevOps:How to control and operate docker containers”, in this blog I would like to show some lab practice on “docker Containers housekeeping”.
From the previous lab sessions, we have seen many containers when we used ps -a option.
We have used two containers most of the times.
Others are not required. This time we will see how to remove a container physically.
Let us consider the below containers to remove using rm command:
32bc16b508d4 ubuntu a744246ffb8e hello-world 1dd55efde43f hello-world $sudo docker rm 1dd55efde43f $sudo docker rm a744246ffb8e $sudo docker rm 32bc16b508d4 ================ You can see the above three containers are removed =========> vskumar@ubuntu:~$ sudo docker rm 1dd55efde43f 1dd55efde43f vskumar@ubuntu:~$ sudo docker rm a744246ffb8e a744246ffb8e vskumar@ubuntu:~$ sudo docker rm 32bc16b508d4 32bc16b508d4 vskumar@ubuntu:~$ sudo docker ps -a |more CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f123dbd09116 ubuntu:16.04 "/bin/bash" 18 minutes ago Exited (0) 18 minutes ago elastic_nightingale 3cfdea29ce6e ubuntu "bash" 27 minutes ago Exited (0) 26 minutes ago gallant_nobel 155f4b0764b1 ubuntu:16.04 "/bin/bash" About an hour ag o Exited (0) 12 minutes ago zen_volhard 11e293722c64 ubuntu:16.04 "/bin/bash" About an hour ag o Exited (0) About an hour ago dreamy_bassi d10ad2bd62f7 ubuntu:16.04 "/bin/bash" About an hour ag o Exited (0) About an hour ago cranky_dijkstra cb1ff260d48e ubuntu "ls /usr/src" 11 hours ago Exited (0) 11 hours ago wonderful_hawking b20691fd8fb5 ubuntu "ls /usr" 11 hours ago Exited (0) 11 hours ago friendly_mirzakhani 431ba4c53028 ubuntu "ls" 11 hours ago Exited (0) 28 minutes ago affectionate_nobel 2c31684bb1f4 ubuntu "ls -la" 11 hours ago Exited (0) 11 hours ago zealous_meitner fe2e3b449daf ubuntu "ls -la /home/." 11 hours ago Exited (0) 11 hours ago dreamy_shirley c44bdd05b94d ubuntu "ls -la home." 11 hours ago Exited (2) 11 hours ago elastic_pasteur 8b8afa82859a ubuntu "ls -la" 11 hours ago Exited (0) 11 hours ago festive_panini 2811eb37af61 ubuntu "ls -la 604831dbce2a" 11 hours ago Exited (2) 11 hours ago jolly_swartz 604831dbce2a ubuntu:16.04 "/bin/bash" 11 hours ago Exited (0) 11 hours ago vibrant_ride 718636415a7f ubuntu:16.04 "/bin/bash" 12 hours ago Exited (0) 12 hours ago reverent_noyce 53a7751d4673 ubuntu:16.04 "/bin/bash" 13 hours ago Exited (0) 13 hours ago musing_chandrasekhar 1ba71598b7b8 hello-world "/hello" 16 hours ago Exited (0) 16 hours ago musing_kare vskumar@ubuntu:~$ ==============> Now let us consider some more examples as below: 3cfdea29ce6e ubuntu cb1ff260d48e ubuntu b20691fd8fb5 ubuntu 431ba4c53028 ubuntu c31684bb1f4 ubuntu 2c31684bb1f4 ubuntu fe2e3b449daf ubuntu c44bdd05b94d ubuntu 2811eb37af61 ubuntu Now, let us use the below rm commands: $sudo docker rm 3cfdea29ce6e $sudo docker rm cb1ff260d48e $sudo docker rm b20691fd8fb5 $sudo docker rm 431ba4c53028 $sudo docker rm 2c31684bb1f4 $sudo docker rm fe2e3b449daf $sudo docker rm c44bdd05b94d $sudo docker rm 2811eb37af61 =================> See the below output also: ================== Container removal ==========> vskumar@ubuntu:~$ clear vskumar@ubuntu:~$ sudo docker rm 3cfdea29ce6e 3cfdea29ce6e vskumar@ubuntu:~$ sudo docker rm cb1ff260d48e cb1ff260d48e vskumar@ubuntu:~$ sudo docker rm b20691fd8fb5 b20691fd8fb5 vskumar@ubuntu:~$ sudo docker rm 431ba4c53028 431ba4c53028 vskumar@ubuntu:~$ sudo docker rm 2c31684bb1f4 2c31684bb1f4 vskumar@ubuntu:~$ sudo docker rm fe2e3b449daf fe2e3b449daf vskumar@ubuntu:~$ sudo docker rm fc44bdd05b94d Error: No such container: fc44bdd05b94d vskumar@ubuntu:~$ sudo docker rm c44bdd05b94d c44bdd05b94d vskumar@ubuntu:~$ sudo docker rm 2811eb37af61 2811eb37af61 vskumar@ubuntu:~$ ==========================> Now we can see the list of available containers: ============= List of latest containers ==============> vskumar@ubuntu:~$ sudo docker ps -a |more CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f123dbd09116 ubuntu:16.04 "/bin/bash" 28 minutes ago Exited (0) 28 minutes ago elastic_nigh tingale 155f4b0764b1 ubuntu:16.04 "/bin/bash" About an hour ago Exited (0) 22 minutes ago zen_volhard 11e293722c64 ubuntu:16.04 "/bin/bash" About an hour ago Exited (0) About an hour ago dreamy_bassi d10ad2bd62f7 ubuntu:16.04 "/bin/bash" 2 hours ago Exited (0) About an hour ago cranky_dijks tra 8b8afa82859a ubuntu "ls -la" 11 hours ago Exited (0) 11 hours ago festive_pani ni 604831dbce2a ubuntu:16.04 "/bin/bash" 12 hours ago Exited (0) 11 hours ago vibrant_ride 718636415a7f ubuntu:16.04 "/bin/bash" 12 hours ago Exited (0) 12 hours ago reverent_noy ce 53a7751d4673 ubuntu:16.04 "/bin/bash" 13 hours ago Exited (0) 13 hours ago musing_chand rasekhar 1ba71598b7b8 hello-world "/hello" 16 hours ago Exited (0) 16 hours ago musing_kare vskumar@ubuntu:~$ ===========================> Now, I wan to keep very few containers only and remove the below containers: 604831dbce2a ubuntu:16.04 718636415a7f ubuntu:16.04 53a7751d4673 ubuntu:16.04 8b8afa82859a ubuntu I want to use the below commands to remove the above containers: $sudo docker rm 604831dbce2a $sudo docker rm 718636415a7f $sudo docker rm 53a7751d4673 $sudo docker rm 8b8afa82859a ========================= We can see the latest/limited containers =======> vskumar@ubuntu:~$ sudo docker rm 604831dbce2a 604831dbce2a vskumar@ubuntu:~$ sudo docker rm 718636415a7f 718636415a7f vskumar@ubuntu:~$ sudo docker rm 53a7751d4673 53a7751d4673 vskumar@ubuntu:~$ sudo docker rm 8b8afa82859a 8b8afa82859a vskumar@ubuntu:~$ sudo docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f123dbd09116 ubuntu:16.04 "/bin/bash" 36 minutes ago Exited (0) 36 minutes ago elastic_nightingale 155f4b0764b1 ubuntu:16.04 "/bin/bash" About an hour ago Exited (0) 30 minutes ago zen_volhard 11e293722c64 ubuntu:16.04 "/bin/bash" About an hour ago Exited (0) About an hour ago dreamy_bassi d10ad2bd62f7 ubuntu:16.04 "/bin/bash" 2 hours ago Exited (0) About an hour ago cranky_dijkstra 1ba71598b7b8 hello-world "/hello" 16 hours ago Exited (0) 16 hours ago musing_kare vskumar@ubuntu:~$ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES vskumar@ubuntu:~$ ================================> We can also see the current container ids as below: ========== Listing containers ids ===============> vskumar@ubuntu:~$ sudo docker ps -aq f123dbd09116 155f4b0764b1 11e293722c64 d10ad2bd62f7 1ba71598b7b8 vskumar@ubuntu:~$ ===============================> To remove the inactive containers there is a prune command. Let us try with it. Before doing it I want to make a container active and try this prune command on it: ================= I have made one container Active ======> vskumar@ubuntu:~$ sudo docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f123dbd09116 ubuntu:16.04 "/bin/bash" About an hour ago Exited (0) About an hour ago elastic_nightingale 155f4b0764b1 ubuntu:16.04 "/bin/bash" 2 hours ago Exited (0) 40 minutes ago zen_volhard 11e293722c64 ubuntu:16.04 "/bin/bash" 2 hours ago Exited (0) 2 hours ago dreamy_bassi d10ad2bd62f7 ubuntu:16.04 "/bin/bash" 2 hours ago Exited (0) 2 hours ago cranky_dijkstra 1ba71598b7b8 hello-world "/hello" 17 hours ago Exited (0) 17 hours ago musing_kare vskumar@ubuntu:~$ sudo docker start 155f4b0764b1 155f4b0764b1 vskumar@ubuntu:~$ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 155f4b0764b1 ubuntu:16.04 "/bin/bash" 2 hours ago Up 6 seconds zen_volhard vskumar@ubuntu:~$ ========================> To use prune , below format should be used: $ sudo docker container prune =========== The usage of prune command =======> vskumar@ubuntu:~$ vskumar@ubuntu:~$ sudo docker container prune WARNING! This will remove all stopped containers. Are you sure you want to continue? [y/N] y Deleted Containers: f123dbd09116561a042e12060f449daa9a36d9a59034b1dd1b96846e66ead14d 11e293722c646a0def7a8a1f2cdf85a47654eb62ef7701bd2d7221c7e69a943f d10ad2bd62f7a8de379272f21dfccec89c0e5829b3a58ce01927530b6b44ea01 1ba71598b7b8d97fcbd3a589a6665238690be99936b6782647b5040eeb82aafa Total reclaimed space: 844B vskumar@ubuntu:~$ ========== You can see the removed container ids =============> You can see the existing containers: ====== Available containers after Housekeeping is done =========> vskumar@ubuntu:~$ vskumar@ubuntu:~$ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 155f4b0764b1 ubuntu:16.04 "/bin/bash" 2 hours ago Up 6 minutes zen_volhard vskumar@ubuntu:~$ sudo docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 155f4b0764b1 ubuntu:16.04 "/bin/bash" 2 hours ago Up 6 minutes zen_volhard vskumar@ubuntu:~$ sudo docker ps -aq 155f4b0764b1 vskumar@ubuntu:~$ ===================> In this exercise we have seen the housekeeping of containers well. Please note if you have deleted all the containers by mistake, you need to install the containers again. Follow the containers creation exercise. I would like to break this session at this point. In the next blog I would like to present the lab practice on: