Como instalar docker en debian 12

Docker es una plataforma de software que permite crear, probar e implementar aplicaciones rápidamente mediante el uso de contenedores. Los contenedores permiten empaquetar una aplicación con todas sus dependencias en un paquete estándar, facilitando así su ejecución en cualquier sistema que soporte Docker. Este tutorial aborda cómo instalar Docker en Debian 12, ofreciendo una base sólida para usuarios que deseen explorar la creación y gestión de contenedores de aplicaciones, mejorando la eficiencia y la portabilidad del desarrollo de software.

En este tutorial veremos los pasos necesarios para instalar docker en debian 12

Instalar docker

actualizamos los paquetes

sudo apt update

instalamos los paquetes

sudo apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common gpg

añadimos la llave GPG para el repo oficial

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -

añadimos los repos oficiales de docker

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"

actualizamos la base de datos de paquetes

sudo apt update

Nos aseguramos que tenemos los paquetes oficiales de docker

apt-cache policy docker-ce

Instalamos docker

sudo apt install docker-ce

Comprobamos que docker funciona correctamente

sudo systemctl status docker

Ejecutar docker sin sudo

añadimos nuestro usuario al grupo docker

sudo usermod -aG docker ${USER}

entramos con este usuari y comprobamos que puede ejectuar docker

su - ${USER}

docker

Script resumen

Aquí tenéis un script con todos los pasos de instalación

#!/bin/bash

sudo apt -y install apt-transport-https ca-certificates curl gnupg2 software-properties-common gpg
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
sudo apt update
sudo apt -y install docker-ce
sudo apt -y install docker-compose
sudo usermod -aG docker ${USER}

Probar una imagen

Probamos la imagen hello-word para ver que todo funciona

docker run hello-world

Podemos buscar las imágenes según un criterio de búsqueda

La columan oficial indica que es una distribución oficial, la descargamos con el comando

docker pull debian

para ver las imagenes descargadas

Ejecutar un contenedor a partir de una imagen

docker run -it debian

Podemos usar este contenedor como una máquina virtual, por ejemplo podemos actualizar sus paquetes

Podemos instar un paquete

Salímos del contenedor con el comando exit

Gestionar contenedores

Para ver los contenedores activos

docker ps

para ver activos e inactivos

docker ps -a

Para ver el último contenedor creado

docker ps -l

Para iniciar un contenedor creado utilizamos docker start con la id del contenedor que queremos ejecutar, en nuestro caso 98080da3f83e

Ahora con docker ps veremos que está activo

Para parar un contenedor lo hacemos con docker stop seguido de la id o del nombre, ahora lo pararemos usando el nombre

Ahora eliminaremos el contenedor hello-world

Guardar cambios en nuestra imagen

Guardamos los cambios de nuestro contenedor en una nueva imagen

docker commit -m «What you did to the image» -a «Author Name» container_id repository/new_image_name

Ahora podemos ver una nueva imagen con docker images

Enviar imagen de docker a los repositorios

Debéis haceros una cuenta en docker-hub https://hub.docker.com/

Una vez creada una imagen con los cambios deseados podemos enviarla a nuestra cuenta de docker-hub

Primero tenemos que hacer login con

docker login -u nuestro_usuario_docker

Os va a pedir usuario y password

Etiquetamos nuestra imagen en caso que no hayamos usado el mismo usuario que tenemos en docker-hub

docker tag usuarioLocal/debian_apache docker-registry-username/debian_apache

En mi caso no lo hago ya que usado mi usuari de docker-hub

Hacemos un push para enviar la imagen a docker-hub

Si vamos a nuestra cuenta de docker-hub veremos la imagen recien guardada

Podéis usar mi imagen con el comando

docker pull enguillem/debian_apache