Skip to content

Docker Installation and Management

Explore Docker installation procedures for Gentoo and Ubuntu systems, along with essential commands to manage Docker images and volumes effectively.


Install Docker

emerge --ask docker docker-compose
  • Remove packages
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
  • Add Docker's official GPG key:
apt-get update
apt-get install ca-certificates curl
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc

* Add the repository to Apt sources:

```bash
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  tee /etc/apt/sources.list.d/docker.list > /dev/null
apt-get update
  • Install docker

bash apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

  • Verify that the Docker Engine installation is successful by running the hello-world image

bash docker run hello-world

  • Install docker compose

bash apt install -y docker-compose

Images

Remove Docker Images

docker image rm <volume_name>

Volumes

Create a volume

docker volume create      

Display detailed information on one or more volumes

docker volume inspect     

List volumes

docker volume ls          

Remove unused local volumes

docker volume prune       

Remove one or more volumes

docker image rm matomo
docker full wipe of all data
echo "Stopping all running containers..."
docker stop $(docker ps -q)

echo "Removing all containers..."
docker rm $(docker ps -aq)

echo "Removing all images..."
docker rmi -f $(docker images -q)

echo "Removing all volumes..."
docker volume rm $(docker volume ls -q)

echo "Removing all networks (except default ones)..."
docker network prune -f

echo "Cleaning up system-wide Docker data..."
docker system prune -a --volumes -f

echo "Docker cleanup complete!"
docker-image-wiper.sh
images=()

if [ $# -eq 0 ]; then
        echo "Usage: $0 <image1> [<image2> ...]"
        exit 1
fi

for arg in "$@"; do
        images+=("$arg")
done

remove_images() {
        for image in "${images[@]}"; do
                echo "Removing image: $image"
                docker rmi -f "$image"
        done
}

remove_containers() {
        for image in "${images[@]}"; do
                container_ids=$(docker ps -a | awk -v image="$image" '$2 == image {print $1}')
                for container_id in $container_ids; do
                        echo "Removing container: $container_id"
                        docker rm -f "$container_id"
                done
        done
}

remove_containers
remove_images

echo "Docker images and containers removed."
docker-remove-all-from-images.sh
#!/bin/bash

images=$(docker image ls)

# Iterate over each line of the output
while IFS= read -r line; do
    # Check if the line contains "genieacs"
    if [[ $line == *"genieacs"* ]]; then
        # Extract the image ID from the line
        image_id=$(echo "$line" | awk '{print $3}')
        # Remove the Docker image
        docker image rm "$image_id"
    fi
done <<< "$images"
docker-remover.sh
confirm() {
   read -p "$1 (y/n): " choice
   case "$choice" in
   y | Y) return 0 ;;
   n | N) return 1 ;;
   *) return 2 ;;
   esac
}

docker stop $(docker ps -aq)
docker rm $(docker ps -aq)

if confirm "Do you want to remove all images?"; then
        docker rmi $(docker images -aq)
        echo "All images have been removed."
else
        echo "Image removal cancelled."
fi