¿Qué es Docker?

¿Qué es y para que sirve?

Docker es una plataforma de software que permite a los desarrolladores crear, probar y desplegar aplicaciones de forma rápida y sencilla. Docker utiliza contenedores para encapsular una aplicación y todas sus dependencias en una unidad única, lo que facilita el despliegue de aplicaciones en diferentes entornos sin preocuparse por la compatibilidad de las dependencias.

En términos más simples, Docker es una herramienta que permite a los desarrolladores empaquetar una aplicación junto con todas sus dependencias en un contenedor, que se puede ejecutar en cualquier lugar donde Docker esté instalado, lo que permite la portabilidad y la flexibilidad en el despliegue de aplicaciones.

Al utilizar Docker, los desarrolladores pueden crear un entorno de desarrollo consistente y replicable, lo que facilita la colaboración en equipo y garantiza que la aplicación funcione igualmente en diferentes entornos. Además, Docker también proporciona una mayor seguridad al aislar una aplicación y sus dependencias del resto del sistema operativo, lo que evita conflictos entre diferentes aplicaciones y garantiza la estabilidad del sistema.

Lista de comandos básicos

  • docker build: construye una imagen de Docker a partir de un archivo Dockerfile

  • docker run: ejecuta un contenedor a partir de una imagen

  • docker ps: muestra los contenedores en ejecución

  • docker stop: detiene un contenedor en ejecución

  • docker rm: elimina un contenedor

  • docker images: muestra las imágenes de Docker disponibles en el sistema

  • docker rmi: elimina una imagen de Docker

  • docker-compose up: construye y ejecuta contenedores definidos en un archivo docker-compose.yml

  • docker-compose down: detiene y elimina los contenedores definidos en un archivo docker-compose.yml

Ten en cuenta que estos son solo algunos de los comandos básicos de Docker y que hay muchos más disponibles para trabajar con contenedores y su gestión. Además, la sintaxis y las opciones pueden variar ligeramente dependiendo de la versión de Docker que estés utilizando.

¿Cómo instalo una imagen?

Descarga primero una imagen en DockerHub

  1. Primero, descarga una imagen de Docker desde Docker Hub. Por ejemplo, puedes descargar la imagen oficial de nginx con el siguiente comando:

docker pull nginx
  1. A continuación, crea un directorio en tu sistema para alojar el archivo HTML que queremos servir desde nuestro contenedor. Puedes crear un archivo HTML de prueba en el directorio, o simplemente copiar uno existente.

mkdir /home/tu-usuario/mi-contenedor
cd /home/tu-usuario/mi-contenedor
echo "Hola desde mi contenedor!" > index.html
  1. Ahora, crea un archivo Dockerfile en el mismo directorio que contenga las instrucciones para construir la imagen de nuestro contenedor. En este caso, usaremos la imagen de nginx como base y copiaremos el archivo HTML que acabamos de crear dentro del directorio raíz del servidor web.

FROM nginx
COPY index.html /usr/share/nginx/html
  1. Ahora, podemos construir la imagen de nuestro contenedor usando el siguiente comando.

docker build -t mi-contenedor .
  1. Finalmente, podemos ejecutar un contenedor basado en nuestra imagen con el siguiente comando:

docker run -d -p 8080:80 mi-contenedor

Este comando ejecuta un contenedor en segundo plano (-d), que se conecta al puerto 8080 de tu máquina host (-p 8080:80) y utiliza la imagen mi-contenedor que acabamos de crear. Ahora, si abres un navegador web y visitas http://localhost:8080, deberías ver el archivo HTML que acabamos de copiar dentro de nuestro contenedor.

Espero que este ejemplo te haya resultado útil. Ten en cuenta que este es solo un ejemplo sencillo, y que hay muchas opciones adicionales que puedes usar para personalizar y gestionar tus contenedores de Docker.

También en un contenedor Docker, puedes poner cualquier imagen que esté disponible públicamente en Docker Hub o que hayas creado tú mismo. Docker Hub es un registro de imágenes de Docker públicas, donde los desarrolladores pueden compartir y descargar imágenes de Docker. Estas imágenes pueden contener sistemas operativos completos, aplicaciones de servidor, herramientas de desarrollo, bases de datos, lenguajes de programación, frameworks, y mucho más.

Por lo tanto, las imágenes que puedes poner en un contenedor son muy variadas y pueden depender de tus necesidades específicas. Por ejemplo, puedes crear un contenedor con una imagen de Ubuntu para desarrollar y probar una aplicación web, o puedes usar una imagen de MySQL para ejecutar una base de datos dentro de un contenedor.

Además, puedes crear tus propias imágenes personalizadas de Docker que contengan aplicaciones y configuraciones específicas para tu proyecto. Por ejemplo, puedes crear una imagen personalizada de Docker que contenga una aplicación de Python y todas sus dependencias, o una imagen que contenga una aplicación de Node.js y todas las bibliotecas necesarias para ejecutarla.

En resumen, la variedad de imágenes disponibles para poner en un contenedor de Docker es muy amplia y dependerá de las necesidades específicas de tu proyecto.

Articulos de soporte

Interfaz docker0 borrada

Puede pasar que o hayas borrado la interfaz docker0 o haya desparecido, para que vuelva a aparecer tienes que hacer lo siguiente:

  1. Ir al archivo `/etc/network/interfaces`

  2. Añadir los siguientes parámetros

# Docker interface
auto docker0
address 172.17.0.1
netmask 255.255.255.0
bridge_ports eth0
bridge_stp off
bridge_fd 0
bridge_maxwait 0
  1. Después realizar 2 reinicio de los daemon networking y docker

    1. `sudo systemctl restart networking`

    2. `sudo systemctl restart docker0`

  2. Ya debería aparecer de nuevo la interfaz.

Last updated