Docker: qué es y qué usos le puedes dar

 Llevo mucho tiempo queriendo escribir un artículo para hablaros de un servicio que estoy utilizando actualmente y al cual le saco un gran partido y no es otro que Docker.

¿Qué es docker?

En primer lugar me gustaría explicaros en que consiste este software y cuales son sus principales características.

Docker es un proyecto de software libre y código abierto que nos permite automatizar el despliegue de aplicaciones dentro de contenedores de software.

Además este software nos permite automatizar la virtualización de aplicaciones en múltiples sistemas operativos.

Esto se consigue gracias a que este es un software multidispositivo que está disponible en Windows, MacOS y por supuesto, Linux.

Ventajas de usar este software

Una de las principales ventajas de este software es que nos permite poder instalar aplicaciones dentro de un contenedor que, a su vez, está instalado dentro de un sistema operativo de escritorio.

Esto nos proporciona la seguridad de que, aunque rompamos algún contenedor, este fallo no afectará al sistema operativo donde va instalado.

Otra de las grandes ventajas de este sistema de contenedores es que nos permite poder montar una gran variedad de servicios autoalojados de forma rápida y sencilla con tan sólo unas líneas de terminal.

Por ejemplo, si queremos instalar nuestra propia nube privada con Nextcloud en nuestra distribución Linux sin usar este software tendríamos que instalar primero un servidor web y una base de datos, pero gracias a este servicio lo podemos tener funcionando en tan sólo unos minutos de una forma realmente sencilla.

Cómo instalar este software en Linux

El primer paso para poder empezar a usarlo es instalar este software en nuestro sistema operativo, en mi caso, GNU/Linux y en concreto, Linux Mint.

Es por ello que os voy a explicar como instalarlo en Linux Mint o cualquier otra distribución derivada de Ubuntu a través del terminal en unos sencillos pasos:

  • Primero actualizamos e instalamos los paquetes con los siguientes comandos:
    • sudo apt-get update
    • sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
  • En segundo lugar debemos importar la clave Docker GPG utilizada para firmar paquetes Docker:
    • curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  • Después agregamos el repositorio de Docker a Linux Mint:
    • sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(. /etc/os-release; echo "$UBUNTU_CODENAME") stable"
  • Para comprobar que se ha agregado correctamente volvemos a actualizar:
    • sudo apt-get update
  • Instalamos la versión más reciente de Docker CE y Docker Compose
    • sudo apt-get -y install docker-ce docker-compose
  • Agregamos nuestro usuario al grupo Docker para poder ejecutar comandos de Docker como usuario sin privilegios:
    • sudo usermod -aG docker $USER
  • Por último verificamos que Docker está funcionando:
    • sudo docker --version

Cómo levantar contenedores Docker

Para poder instalar y levantar un contenedor, en primer lugar, debemos localizar dicho contenedor en una base de datos llamada Docker Hub, a la que podéis acceder desde este enlace.

Docker

Una vez dentro de Docker Hub buscamos el servicio que nos interesa, por ejemplo, Nextcloud, del cual nos saldrán varias opciones, personalmente os recomiendo los contenedores de Linuxserver.

Una vez dentro del contenedor que nos interesa tan sólo debemos copiar las líneas de texto que aparecen donde indica Docker Compose (el cual hemos instalado anteriomente).

De estas líneas de texto debemos modificar la ruta donde se alojarán tanto la configuración como los datos de la aplicación que se encuentran bajo la opción "volumes".

Una vez hecho esto pegamos estas líneas de texto en un terminal y las ejecutamos para montar el contenedor.

Una vez montado, lo podemos iniciar desde la terminal tecleando:

  • docker start (nombre del contenedor, por ejemplo Nextcloud)

Estos son los contenedores que tengo montados ahora mismo

Por último me gustaría hablaros de los contenedores que tengo montados ahora mismo en un ordenador que tengo a modo de servidor:

  • Nextcloud: una nube privada con gran cantidad de servicios como notas, calendario, servidor RSS...etc
  • Webdav: un servidor web ligero en el que tengo alojadas mis notas mediante la aplicación Joplin
  • FreshRSS: un servidor de feeds RSS que me permite consultar las webs y blogs que más sigo tanto desde el PC como desde el móvil
  • Wallabag: un servidor para alojar todo tipo de enlaces web que podemos organizar mediante etiquetas
  • Radicale: un servidor de calendario para poder organizar nuestros eventos y tareas diarias
  • Portainer: un programa que nos permite gestionar los contenedores de forma gráfica desde un navegador web

Si queréis más información de este software y sus contenedores os voy a dejar los enlaces del podcast y la página web de un gran especialista en este tema: Ángel de Ugeek y un episodio del podcast en el que colaboro, La Buhardilla Geek, donde hablamos con Ángel de todo lo relacionado con este gran servicio.

Podcast|Ugeek Podcast

Web|Ugeek

Episodio Docker|La Buhardilla Geek

Si queréis colaborar con este blog lo podéis hacer a través de mi enlace de afiliados de Amazon

Comentarios

Entradas populares de este blog

FairEmail, un cliente de correo electrónico completo, seguro y de software libre disponible en FDroid

24H24L, un evento en streaming de 24 horas de duración en el cual se hablará del uso de GNU/Linux en diversos ámbitos

Vant Ultramoove-s: análisis de un portátil linuxero de gran calidad y con un gran equilibrio entre potencia y autonomía