Os traigo este tutorial que surge de una necesidad de poder ejecutar comandos Docker mediante el automatizador de tareas Ofelia (https://devcodelight.com/automatizar-tareas-con-cron-desde-docker-con-ofelia)
Para poder ejecutar comandos Docker dentro de un contenedor que está levantado con ese propio Docker en una máquina local, lo primero que necesitamos hacer es añadir un cliente Docker a nuestro contenedor.
Para crear la imagen personalizada utilizo Alpine:
# Usa una imagen base más ligera (Alpine Linux) FROM alpine:latest # Instala el cliente de Docker RUN apk --no-cache add docker # Define el comando predeterminado a ejecutar al iniciar el contenedor CMD ["/bin/sh", "-c", "sleep infinity"]
Y para lanzar la imagen, voy a usar este Docker compose:
version: "3" services: docker_excuter: build: context: . container_name: container_docker volumes: - /var/run/docker.sock:/var/run/docker.sock
Con esta configuración, ya podemos ejecutar comandos Docker en este contenedor, con el siguiente comando podemos ejecutar un docker ps y ver a qué contenedores tiene acceso:
docker-compose exec container_docker docker ps
Gracias a esta configuración he podido realizar mis copias de seguridad automáticas (https://devcodelight.com/hacer-una-copia-de-seguridad-de-mysql-o-mariadb-con-ofelia-cron-y-docker)
Ingeniero en Informática, me encanta crear cosas o arreglarlas y darles una nueva vida. Escritor y poeta. Más de 20 APPs publicadas y un libro en Amazon.