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:
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:
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.
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.