Curso gratuito de DOCKER desde cero para programadores web ????

En el artículo de hoy vamos a tratar temas sobre Docker, incluyendo cómo crear imágenes de varias etapas optimizadas, cómo ejecutar un contenedor de docker pasando variables de ambiente y ajustes personalizados utilizando técnicas avanzadas.

Recuerda que este blog es una introducción basada en el video original del curso de Docker desde cero. Los temas cubiertos en el curso son los siguientes:

  • DockerFile.
  • Imagen (una) etapa.
  • Docker Run.
  • Dockerignore (RUN vs CMD).
  • Docker build.
  • Docker images.
  • Docker images | grep
  • Imagen (multi) etapas.
  • No-cache.
  • Docker run.
  • Enviroments env-file.
  • Docker ps.
  • Docker stop.
  • Docker -e (env).
  • Docker –name.
  • Docker rm.
  • Docker -p mapear puertos 3001:3000.
  • Docker run -d (daemon).
  • Docker nginx.
  • Virtual Host (nginx).
  • Docker -v (volumen).
  • Proxy_pass nginx.
  • Docker network.
  • Docker network create.
  • Enrutamiento de contenedores mediante nginx

Cuando nos enfocamos en docker generalmente hablamos sobre cómo cada una de estas aplicaciones son aplicaciones completamente independientes y cada una tiene un archivo o debes poseer un archivo que es el docker file. El docker file, para quienes no lo conocen, es un archivo de texto plano como el que estamos viendo en este momento que básicamente contiene todas las instrucciones que se deben ejecutar para que la imagen de la aplicación de node funcione correctamente.

¿Qué significa esto?

Es como las instrucciones para que todo el mundo pueda ubicarse. Arriba he colocado un comentario diciendo. Ese es el docker file de la aplicación número uno.

Si deseas ver el curso completo, te dejo el video

ahora en este punto tenemos una imagen de docker que está utilizando dos etapas, así que te mostraré la diferencia en números entre una imagen construida con una etapa y una imagen construida con dos etapas.

Empezamos diciéndole a docker que va a arrancar desde una imagen base de Node 18, donde vemos que dice Node 18 directamente, lo cual básicamente indica que debemos usar la imagen que está completa.

¿Por qué voy a emplear pnpm como gestor de paquetes de node pack manager?

Porque es eficiente y reutiliza mejor los recursos en cuanto a espacio. Entonces, en la línea número ocho, le estoy indicando que establezca el directorio de trabajo como usuario.

Le digo que copie los archivos packjs al directorio raíz y luego ejecute el comando de pnpn install para instalar las dependencias, seguido de indicar que copie todo y aquí es importante señalar que también tengo otro archivo llamado doc docker ignor.

¿Qué es Docker ignor?

Es básicamente como el git ignor pero la diferencia es que aquí aplica en esta línea cuando se realiza el copy se copiarán todos los archivos excepto aquellos directorios o archivos que están ignorados en el docker ignor.

¿Cuál es la diferencia entre cmd y el ROM?

La diferencia es crucial y básicamente los comandos escritos o ejecutados con el prefijo de ROM se ejecutarán en la etapa de construcción de la imagen, a diferencia de los comandos que se ejecutan con el prefijo de CMD que se realizan en otra etapa del proceso.

Para obtener el servidor GRATIS debes escribir el cupon «LEIFER»


Trucos de optimización con docker file

Es simplemente una estrategia sobre cómo aprovechar las multietapas en el archivo de Docker. Si dejo el archivo como estaba antes, es probable que sea redundante al principio cuando no conoces Docker, hay muchas formas de lograr el mismo resultado en detalles. Básicamente, hasta este punto, estamos construyendo nuestra aplicación y luego tenemos otro frente.

Cuando tienes más de un frente, es una imagen de múltiples etapas, básicamente cada etapa inicia un nuevo frente y en este caso estoy indicando que esta etapa inicie con la versión de Node 18 ya que es una versión de Node mucho más ligera basada en una distribución de Linux optimizada con solo lo necesario. Es una práctica muy útil utilizar este tipo de imágenes.

¿Algunos comandos comunes de Docker?

Si deseas aprender cómo montar una imagen en un contenedor, empezar a ejecutar el contenedor, y levantar la aplicación, en este punto necesitas conocer los comandos.

Si deseas aprender más, puedes consultar este enlace.

Recuerda que si deseas profundizar en Docker, puedes hacerlo viendo el siguiente video.

En Grupo MET podemos ayudarte a implementar esta y muchas mas herramienta para optimizar tu trabajo. ¡Contáctanos para saber más!

Contactanos