Automatisch Docker Containers Stoppen op Bepaalde Tijdsti

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • teuntjuh
  • Registratie: December 2022
  • Laatst online: 19-02 18:57
Hallo allemaal,

Ik ben bezig met een project waarbij ik Docker containers automatisch wil laten stoppen tussen bepaalde tijdstippen. Het doel is om containers bijvoorbeeld elke nacht tussen 2:00 en 4:00 te stoppen voor onderhoudswerkzaamheden en kostenbesparing. Ik wil dit het liefst realiseren binnen Docker Compose, maar ik weet dus niet of ik dat kan regelen binnen een docker compose stack.

Tot nu toe heb ik nagedacht over de volgende aanpak:

Cron Jobs: Het instellen van cron jobs op de host machine die een script uitvoeren om de Docker Compose containers te stoppen en te starten op de gewenste tijden. Dit lijkt de meest voor de hand liggende methode, maar ik vraag me af of er nog andere mogelijkheden zijn binnen Docker Compose zelf.

Scripts en Scheduling: Het maken van een script dat Docker Compose gebruikt om de containers te beheren, en dit script vervolgens te laten uitvoeren door een scheduler zoals cron.

Alle suggesties, voorbeelden, of best practices zijn zeer welkom!

Alvast bedankt voor jullie hulp!

Alle reacties


Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 19-05 13:58

drm

f0pc0dert

Als je vanuit een docker container met de docker daemon op de host wilt praten, heb je een volume mount van de docker socket nodig. Vanaf dat punt kun je gewoon docker commandos vanuit je container draaien. Je kunt dan op allerlei manieren schedulen, cronjobs, systemd timers, of zelfs een eigen proces binnen de container die de scheduling doet.

Ik ben zelf een beetje old-school en draai dus altijd gewoon cronjobs op de host en gevoelsmatig vind ik dat ook het meest logisch; de host is immers degene waar de processen worden gemanaged; het voelt anders toch altijd een beetje als een kip/ei probleem.

Als alternatief voor cronjobs, wordt er de laatste jaren steeds meer een shift gemaakt naar systemd timers, dus het is misschien wel de moeite waard om even goed in systemd te duiken en je complete process management in systemd te doen. Ik heb daar zelf alleen geen ervaring mee, maar ben wel geinteresseerd in je bevindingen.

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Acties:
  • 0 Henk 'm!

  • RudolfR
  • Registratie: Maart 2011
  • Laatst online: 22:16
Portainer heeft een scheduler, misschien kan dat wat je zoekt.