Construya automáticamente imágenes de Docker en Debian Top 10

Construya automáticamente imágenes de Docker en Debian Top 10

Docker es una tecnología a pedido en estos días, ya que muchas grandes empresas la usan para reducir sus cargas de trabajo. Se utiliza para construir, empacar e implementar aplicaciones sobre la tecnología de contenedores. Docker puede ejecutar una aplicación de utilización de recursos de alto recurso con un uso mínimo de recursos. La virtualización basada en hipervisor requiere muchos recursos al instalar un sistema operativo completo, mientras que Docker utiliza contenedores muy livianos y escalables para ejecutar aplicaciones.

Docker se puede instalar en Linux, Mac y Windows. Aunque se ejecuta de forma nativa en Linux, requiere que Hyper-V se habilite en Windows.

Docker también tiene un Docker Hub, un servicio basado en la nube donde podemos encontrar imágenes de editores verificados, y también podemos publicar y compartir nuestras propias imágenes personalizadas. Una vez que hemos extraído una imagen del centro de Docker, podemos crear numerosos contenedores a partir de la misma imagen.

Características de Docker:

  1. Es software de código abierto.
  2. Proporciona plataforma como servicio para ejecutar la aplicación en un entorno virtual.
  3. Es muy fácil de entender y usar la tecnología Docker.
  4. Las aplicaciones de Docker se pueden mover y ejecutar fácilmente en cualquier sistema con Docker instalado en él.
  5. La migración de contenedores Docker es muy rápida desde el entorno de la nube hasta el localhost y viceversa.

Docker puede leer y ejecutar las instrucciones dentro del DockerFile y construir automáticamente la imagen especificada. Esta guía verá cómo podemos construir automáticamente una imagen Docker utilizando un DockerFile en el sistema operativo Debian 10 (Buster). Implementaremos el servidor web NGINX y crearemos una imagen de Docker personalizada.

Prerrequisitos:

  1. Acceso a privilegios "sudo".
  2. Conocimiento básico de los comandos Docker.

Antes de comenzar nuestro viaje, revisemos rápidamente algunos conceptos y requisitos importantes que son necesarios para comprender esta guía. Lo primero es que debe tener Docker instalado en su sistema. Si aún no lo ha hecho, puede seguir esta guía para instalar Docker. También puede usar la guía oficial disponible en el sitio web de Docker para instalar Docker en Debian 10.

  1. Dockfile: Este archivo describe toda la configuración que queremos tener en nuestro contenedor Docker. Es un conjunto de instrucciones que define cómo construir una imagen.
  2. Imagen de Docker: En realidad, es la imagen de plantilla que podemos usar para construir nuestro contenedor personalizado. Podemos decir que una imagen de Docker es un archivo inmutable o una imagen de solo lectura.
  3. Contenedor de acopolador: En palabras muy simples, un contenedor Docker es una instancia de nuestra imagen de Docker. Podemos decir que la imagen de Docker es una imagen base, y creamos un contenedor personalizado en la parte superior de una imagen de Docker agregando una capa de escritura en esta imagen. Podemos usar una sola imagen de Docker para crear múltiples contenedores Docker.

Espero que esta revisión sea suficiente para que comencemos con Docker. Así que sumergamos para ver cómo construir imágenes usando DockerFile automáticamente.

Paso 1: El primer paso en la construcción de una imagen comienza con un archivo Docker. Así que primero creemos un directorio de trabajo, y dentro de él, haremos un Dockerfile.

$ mkdir mydock1 # Esto crea un nuevo directorio.
$ Nano Dockerfile # Este es nuestro Dockerfile.

Podemos usar cualquier editor de texto además de Nano como VI o VIM.

Paso 2. Agregue el siguiente contenido al DockerFile y guárdelo.

De ubuntu
Mantenedor linuxhint
Ejecutar Apt-Get Update \
&& apt -get install -y nginx \
&& apt-get limpia \
&& rm -rf/var/lib/apt/lists/*/tmp/*/var/tmp/* \
&& echo "Daemon Off;" >>/etc/nginx/nginx.confusión
Exponer 80
Servicio CMD Nginx Inicio

Paso 3. Ahora, como tenemos nuestro Dockerfile listo, es hora de construir la imagen. Solo usa el siguiente comando:

$ sudo Docker Build -T IMAGEN WEBSERVER: V1 .

Sintaxis:

Sudo Docker Build -t Nombre: Tag/Path/To/Directory/Of/DockerFile

Nota: Siempre ejecute el comando Docker con el usuario root o los privilegios de "sudo" para evitar el error: "Recibí el permiso al intentar conectarse al socket Docker Daemon en unix: /// var/run/docker"

En el comando anterior, la imagen del servidor web es el nombre de nuestra imagen Docker. Puedes usar tu nombre personalizado aquí. V1 es la etiqueta para nuestra imagen.

Si todo sale bien, deberíamos ver la siguiente salida:

Enviar contexto de compilación a Docker Daemon 2.048kb

Paso 1/5: de Ubuntu

-> F643C72BC252

Paso 2/5: mantenedor Linuxhint

-> Uso de caché

-> 1EDEA6FAFF0D

Paso 3/5: ejecute apt-get update && apt-get install -y nginx && apt-get clean && rm -rf/var/lib/apt/lists/*/tmp/*/var/tmp/* && echo “ demonio apagado; " >>/etc/nginx/nginx.confusión

-> Uso de caché

-> 81398A98CF92

Paso 4/5: Exponer 80

-> Uso de caché

-> 2f49ffec5ca2

Paso 5/5: Servicio CMD Nginx Inicio

-> Uso de caché

-> 855796a41bd6

Construido con éxito 855796A41BD6

Etiquetado con éxito la imagen del servidor web: V1


Etapa 4. Cuando tenemos varias imágenes, podemos usar el siguiente comando para buscar una imagen específica:

$ Sudo Docker Imágenes

Paso 5. Ahora ejecutaremos nuestra imagen Docker para ver si está funcionando como se esperaba:

$ sudo Docker Run -D -P 80:80 IMAGEN WEBSERVOR: V1

Después de una ejecución exitosa, generará una ID larga como se muestra a continuación:

Paso 6. Si todo sale bien, deberíamos poder ver nuestra página web ejecutándose en nuestro navegador web Nginx dentro del Docker. Ejecute el siguiente comando para verificarlo:

$ curl 'ip_address'

Tenga en cuenta que la dirección IP que estamos utilizando aquí es la dirección IP del contenedor Docker instalada en nuestro sistema operativo host. Para conocer exactamente la dirección IP requerida aquí, ejecute el siguiente comando en el host:

$ ip a | Grep ^Docker

El comando anterior contendrá la dirección IP que tenemos que usar aquí.

El comando curl anterior mostrará el índice.Contenido HTML del servidor web NGINX.

Otra forma simple y directa es pasar el Docker como argumento de curl, como se muestra a continuación:

Paso 7. Si lo desea, puede verificar qué puerto y procesos se están ejecutando dentro de nuestro contenedor Docker. Ejecute el siguiente comando:

$ sudo docker ps

Esto completa nuestra guía sobre la construcción automáticamente de imágenes de Docker en Debian 10 (Buster). Hemos visto cómo podemos construir imágenes de Docker desde Dockerfile en lugar de editar manualmente cada imagen.

Aunque esta guía se realiza en Debian 10, también debe ejecutarse en otras distribuciones basadas en Debian como Ubuntu, Linux Mint, etc. No olvide compartir esta guía con otros. Además, suscríbase a nuestro blog para obtener la última actualización y Howtos en Linux.