Cómo ejecutar Cron dentro de contenedores Docker

Como administradores de sistemas, inevitablemente nos enfrentamos a la necesidad de programar tareas.

Podemos lograr esto usando servicios cron en sistemas Linux. Además, podemos habilitar los servicios de programación cron en sistemas de contenedores. En este artículo, explicaremos la mejor manera de habilitar los servicios cron en contenedores Docker. Configurar un trabajo cron dentro de un contenedor Docker puede no parecer nuevo para muchos de nosotros. Pero dependiendo de la imagen base que usemos para crear la imagen de Docker, podemos encontrarnos con diferentes problemas.

Es mucho mejor ejecutar trabajos cron de Docker desde su sistema host, no desde dentro de sus contenedores de Docker. Sus contenedores Docker deben tener solo una preocupación y no deben cargarse con trabajos cron.

Crear un archivo de secuencia de comandos

  • Primero, cree un archivo de secuencia de comandos según sus requisitos, qué comandos o tareas necesita ejecutar y guárdelo en el archivo ".sh". Aquí, he creado un archivo script.sh:
  • !/bin/bashtouch/var/log/cron.logcrontab/etc/cron.d/container_cronjob

Crear un archivo de trabajo cron

  • Ahora cree un archivo cron y escriba los detalles del trabajo cron dentro del archivo, como a qué hora desea ejecutar su tarea. A continuación se muestra el archivo cron de muestra, en este el script se ejecuta cada minuto.
  • * * * * * echo “El cron de prueba se ejecutó el $(fecha)” > /proc/1/fd/1 2>/proc/1/fd/2

Crear un archivo acoplable

  • Finalmente, cree un archivo acoplable y cree su imagen acoplable. A continuación se muestra un Dockerfile de muestra.
  • # Tire de la imagen de ubuntu con una etiqueta específica del centro de la ventana acoplable. DESDE ubuntu: 18.04 # Agregar nombre de mantenedor (opcional). MANTENEDOR Nivesh_goyal # Actualice los paquetes e instale el editor cron y vim si luego desea editar su script desde su contenedor. EJECUTE apt-get update && apt-get install cron -y && apt-get install vim -y# archivo crontab copiado en el directorio cron.d. COPY ./files/cronjob /etc/cron.d/container_cronjob# Archivo de script copiado en container.COPY ./files/script.sh /script.sh# Otorgar permiso de ejecución al archivo de script.EXECUTE chmod +x /script .sh# Ejecutar comandos para iniciar un contenedor.CMD

Crear una imagen acoplable

  • Ahora ejecute el siguiente comando para construir el Dockerfile. Puede cambiar la etiqueta según sus necesidades:
  • # docker build –etiqueta cronjob:testing

Ejecute la imagen acoplable dentro del contenedor.

  • Ahora haga girar un contenedor usando la imagen de arriba, ejecute el siguiente comando:
  • # docker run -itd –name container_name cronjob:testing
  • Si desea verificar si su cron se está ejecutando o no, ejecute el siguiente comando desde fuera del contenedor:
  • # docker logs –tail 100 -f container_name

Sin usted, esta web no existiria. Gracias por visitarme, espero que le haya gustado y vuelva. Gracias ☺️

Cómo ejecutar Cron dentro de contenedores Docker

Fecha actualizacion el 2022-05-09. Fecha publicacion el 2022-05-09. Autor: Oscar olg Mapa del sitio Fuente: bollyinside