Instalar Docker en Debian 10

Este articulo explica como instalar Docker Community Edition (CE) en Debian 10 Buster en modo de pruebas local en su PC.

La meta específica a lograr con este articulo es la siguiente:

  • Instalar Docker Community Edition (CE).
  • Uso y buenas prácticas de las distintas herramientas.
    • Ejecutar un contenedor Docker.

Para continuar debe leer y realizar los siguientes artículos escritos anteriormente sobre Docker:

Introducción

Docker, es una plataforma para desarrolladores y administradores de sistemas para desarrollar, implementar y ejecutar aplicaciones con contenedores.

Figura 1 - Logotipo de Docker

Figura 1 – Logotipo de Docker

Instalación

Existen varias ediciones y formas de instalar Docker, ahora está disponible en dos ediciones, a saber las siguientes:

  • Community Edition (CE).
  • Enterprise Edition (EE).

En este articulo, instalara la versión Docker Community Edition (CE) desde el repositorio de paquetes Docker.

Nota: Docker necesita una versión de 64 bits del Sistema Operativo Debian y la versión Kernel debe ser al menos la versión 3.10.

Figura 2 - Docker CE en Debian 10 Buster

Figura 2 – Docker CE en Debian 10 Buster

Requisitos previos

Para instalar Docker Community Edition (CE) en Debian 10 Buster requiere instalar los siguientes paquetes con los siguientes comando:

$ sudo apt update && apt upgrade
$ sudo apt install \
     apt-transport-https \
     ca-certificates \
     curl \
     gnupg-agent \
     software-properties-common

Debe agregar las llaves GPG de los repositorios de Debian del proyecto Docker , ejecutando el siguiente comando:

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

Verificar que usted ahora tenga la key con el fingerprint 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88, buscando los últimos 8 caracteres del fingerprint, ejecutando el siguiente comando:

$ sudo apt-key fingerprint 0EBFCD88
pub   rsa4096 2017-02-22 [SCEA]
      9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
uid         [ unknown] Docker Release (CE deb) <docker@docker.com>
sub   rsa4096 2017-02-22 [S]

Use el siguiente comando para definir el repositorio stable. Usted siempre necesitara el repositorio stable, incluso si desea instalar construcciones desde los repositorios edge o test también. Para agregar el repositorio de edge o test, agregue la palabra edge o test (o ambos) después de la palabra stable en el comando a continuación:

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

Actualizar cambios en los repositorios, ejecutando el siguiente comando:

$ sudo apt update

Instalando

Luego de cumplir las adecuaciones de repositorios y requerimientos previos, puede instalar Docker CE, ejecutando el siguiente comando:

$ sudo apt install docker-ce docker-ce-cli containerd.io

De esta forma, con el comando anterior, usted tendría instalado correctamente Docker CE con la versión por defecto dentro de un entorno local o de desarrollo.

En los sistemas de producción, debe instalar una versión específica de Docker CE en lugar de usar siempre la última. Esta salida está truncada. Listar las versiones disponibles:

$ apt-cache madison docker-ce
 docker-ce | 5:19.03.13~3-0~debian-buster | 
 https://download.docker.com/linux/debian buster/stable amd64 Packages
 docker-ce | 5:19.03.12~3-0~debian-buster |
 https://download.docker.com/linux/debian buster/stable amd64 Packages

El contenido de la lista depende de qué repositorios estén habilitados. Elija una versión específica para instalar. La segunda columna es la cadena de versión. La tercera columna es el nombre del repositorio, que indica de qué depósito es el paquete y, por extensión, su nivel de estabilidad.

Para instalar una versión específica, agregue el VERSION_STRING al nombre del paquete y sepárelos por un signo igual (=) como se describen a continuación:

$ sudo apt install \
     docker-ce=<VERSION_STRING> \
     docker-ce-cli=<VERSION_STRING> \
     containerd.io

Un ejemplo del comando previo para instalar una versión especifica de Debian seria, como el siguiente comando :

$ sudo apt install \
     docker-ce=5:19.03.13~3-0~debian-buster \
     docker-ce-cli=5:19.03.13~3-0~debian-buster \
     containerd.io

De esta forma, con el comando anterior, usted tendría instalado correctamente Docker CE con una versión especifica dentro su entorno de producción.

Nota: El servicio (demonio) de Docker se inicia automáticamente.

Directorio de instalación

Luego de la instalación Docker CE se almacena por defecto en la siguiente ruta:

/var/lib/docker/
├── builder
├── containerd
├── containers
├── image
├── network
├── overlay2
├── plugins
├── runtimes
├── swarm
├── tmp
├── trust
└── volumes

Gestión del servicio Docker

Para conocer los diversos parámetros de gestión para el servicio Docker, ejecute el siguiente comando:

$ sudo service docker
Usage: service docker {start|stop|restart|status}

Estatus del servidor de Docker

Para conocer el estatus del servicio Docker, ejecute el siguiente comando:

$ sudo service docker status

Otra forma de verificar, Si el servicio Docker esta en funcionamiento, se realiza ejecutando el siguiente comando:

$ sudo ps aux | grep --color docker
root 9812 0.0 0.8 1161076 32988 ? Ssl 05:48 0:00 /usr/bin/dockerd -H fd://
    --containerd=/run/containerd/containerd.sock
macagua 22966 0.0 0.0 6088 872 pts/0 S+ 06:13 0:00 grep --color docker

Detener el servicio de Docker

Para detener el servicio Docker, ejecute el siguiente comando:

$ sudo service docker stop

Iniciar el servicio de Docker

Para iniciar el servicio Docker, ejecute el siguiente comando:

$ sudo service docker start

Reiniciar el servicio de Docker

Para reiniciar el servicio Docker, ejecute el siguiente comando:

$ sudo service docker restart

Post-instalación

Luego de terminar la instalación Docker CE, es recomendable agregar ciertas configuraciones opcionales que podrían ser de utilidad:

Permitir a usuarios no root ejecuten Docker

De forma predeterminada, para ejecutar los comando de Docker, el usuario debe tener privilegios de administrador o privilegios equivalentes a través del comando sudo. En ocasiones, es posible que tengamos que permitir que usuarios que no sean usuarios root ejecuten contenedores Docker, por lo tanto, siga los pasos a continuación para que puedan ejecutar contenedores.

Si intenta ejecutar el comando docker sin prefijarlo con sudo o sin que su usuario este dentro del grupo de docker, obtendrá un resultado como este:

docker: Cannot connect to the Docker daemon. Is the docker daemon running on this host?.
See 'docker run --help'.

Si desea evitar escribir sudo cada vez que ejecuta el comando docker, agregue su nombre de usuario al grupo docker, con el siguiente comando:

$ sudo usermod -aG docker ${USER}

Para aplicar el nuevo usuario dentro del grupo, cierre la sesión del servidor y vuelva a iniciarla, o escriba lo siguiente:

$ su - ${USER}

Se le pedirá que ingrese su contraseña de usuario para continuar.

Puede confirmar que su usuario ahora está agregado al grupo docker, con el siguiente comando:

$ id -nG

El resto de este artículo asume que está ejecutando el comando docker como usuario en el grupo de docker. Si decide no hacerlo, anteponga los comandos con sudo.

De esta forma ahora usted debería poder ejecutar los comando de docker sin prefijo sudo. A continuación se explorara el comando docker.

Uso

Los contenedores de Docker se crean a partir de imágenes de Docker. De forma predeterminada, Docker extrae estas imágenes de Docker Hub, un registro de Docker administrado por Docker, la empresa detrás del proyecto Docker. Cualquiera puede alojar sus imágenes de Docker en Docker Hub, por lo que la mayoría de las aplicaciones y distribuciones de Linux que necesitará tendrán imágenes alojadas allí.

Para comprobar si puede acceder y descargar imágenes desde Docker Hub, ejecute el siguiente comando:

$ docker run hello-world

La salida del comando ejecutado anterior, indicará que Docker funciona correctamente:

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
0e03bdcc26d7: Pull complete 
Digest: sha256:e7c70bb24b462baa86c102610182e3efcb12a04854e8c582838d92970a09f323
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

Docker inicialmente no pudo encontrar la imagen hello-world localmente, por lo que descargó la imagen desde Docker Hub, que es el repositorio predeterminado. Una vez descargada la imagen, Docker creó un contenedor a partir de la imagen y se ejecutó la aplicación dentro del contenedor, mostrando el siguiente mensaje:

“Hello from Docker!
This message shows that your installation appears to be working correctly.”

De esta forma, pudo comprobar el correcto funcionamiento de su instalación Docker CE, en los siguientes artículos se explicara mas en detalles el funcionamiento de las imágenes, contenedores y el registro Docker Hub.

Desinstalar y quitar Docker

Si necesita desinstalar Docker, ejecute el siguiente comando:

$ sudo apt purge docker-ce

El comando elimina el paquete docker-ce. Sin embargo, cualquier archivo adicional relacionado con él, como imágenes, contenedores y archivos de configuración personalizados, permanece en el sistema. Elimine todo del directorio de Docker con el comando:

$ sudo rm -rf /var/lib/docker

De esta forma, usted desinstalo y removió Docker CE, de su sistema.

Ver también

Si quieres conocer más información sobre el uso y administración, le invito a visitar el siguiente artículo:

Conclusiones

De esta forma usted ha aprendido a:

  • Instalar el servicio Docker.
  • Gestionar el servicio Docker vía consola de comando.
  • Ejecutar el contenedor hello-world para pruebas Docker.
  • Deinstalar el servicio Docker.

Referencias

¡Haz tu donativo!

Si te gusto este articulo, por favor, ayúdame a seguir escribiendo este tipo de articulo, haciendo donativos en Dólares vía el servicio Paypal haciendo clic aquí o en la siguiente imagen.


PayPal - The safer, easier way to pay online!


También puede realizar su donativo con Bitcoin (BTC) en escaneando el siguiente código QR:

¡Ayúdame a continuar Blog de lcaballero.wordpress.com!

O usando en la siguiente dirección:

bitcoin:13uZUXXqLP3Ct3ksWHXnDqSrbMbhDV9hGz

2 thoughts on “Instalar Docker en Debian 10

  1. Pingback: Introducción a la Virtualización con Docker | Leonardo J. Caballero G.

  2. Pingback: Comando básicos de Docker en Debian 10 | Leonardo J. Caballero G.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s