1. Weiterleitung zu NetzLiving.de
  2. Forum
    1. Unerledigte Themen
  3. zum neuen Forum
  • Anmelden
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Erweiterte Suche
  1. Informatik Forum
  2. IT-Infrastruktur und Administration
  3. Linux und Open Source

Portainer unter Linux

  • Blacksonny
  • 1. April 2025 um 09:31
Hallo zusammen,

das Informatik-Forum geht in den Archivmodus, genaue Informationen kann man der entsprechenden Ankündigung entnehmen. Als Dankeschön für die Treue bekommt man von uns einen Gutscheincode (informatikforum30) womit man bei netzliving.de 30% auf das erste Jahr sparen kann. (Genaue Infos sind ebenfalls in der Ankündigung)

Vielen Dank für die Treue und das Verständnis!
  • Blacksonny
    Punkte
    2.768
    Beiträge
    505
    • 1. April 2025 um 09:31
    • #1

    Hey Leute,


    mein Discord Bot v2 macht sich sehr gut in der Zwischenzeit. Hab jetzt auch Github Workflow aufgebaut, damit ich über den Workflow den Docker Container und Bot bauen kann.

    Das funktioniert soweit, was mich aktuell stört sind die danach entstehenden ungenutzten Images von ca. 400MB. Kann man diese automatisch bereinigen lassen?

  • Akrep
    Punkte
    798
    Beiträge
    132
    • 1. April 2025 um 19:46
    • #2

    Wenn du auf einem Server arbeitest und regelmäßig ungenutzte Images bereinigen möchtest, könntest du einen Cron-Job einrichten, der den docker system prune-Befehl in regelmäßigen Abständen ausführt.

    docker system prune: https://docs.docker.com/reference/cli/docker/system/prune/

  • PixelPatron
    Punkte
    4.131
    Beiträge
    733
    • 5. Mai 2025 um 13:02
    • #3

    Hey,

    kannst du das eventuell ausführlich erörtern? Am liebsten bildlich unterlegt :) meins ernst :)

    Lg

  • Cyburr
    Punkte
    7
    Beiträge
    1
    • 5. Mai 2025 um 21:19
    • #4

    Ich wuerde einen systemd timer statt eines cronjobs erstellen, macht prinzipiell aber aehnliches:


    Service erstellen:

    Code
    sudo nano /etc/systemd/system/docker-prune.service
    Code
    [Unit]
    Description=Run docker system prune
    
    [Service]
    Type=oneshot
    ExecStart=/usr/bin/docker system prune -af

    Timer erstellen:

    Code
    sudo nano /etc/systemd/system/docker-prune.timer
    Code
    [Unit]
    Description=Run docker system prune @ 2 AM
    
    [Timer]
    OnCalendar=*-*-* 02:00:00
    Persistent=true
    
    [Install]
    WantedBy=timers.target

    Aktivieren:

    Code
    sudo systemctl daemon-reload
    sudo systemctl enable --now docker-prune.timer

    Checken ob der Timer exisitert:

    Code
    systemctl list-timers | grep docker-prune
  • Blacksonny
    Punkte
    2.768
    Beiträge
    505
    • 6. Mai 2025 um 23:40
    • #5

    Cool danke für die ausführliche Anleitung. Cyburr Das geht in die richtige Richtung und würde mir auch komplett ausreichen.


    Hätte aber noch eine Bonusfrage: Gibt es da auch eine Möglichkeit anhand der Action des Github Workflows den „Job“ zu triggern nach Abschluss des Builds zum Bereinigen des Dockers? Damit würde ich mir einen Timer sparen der eventuell unnötig anspringt.

    Jetzt gerade beim Schreiben denke ich mir eventuell gibt es auch eine Möglichkeit nach dem Bauen über den Workflow direkt nach Abschluss Docker zu bereinigen. Recherchiere es mal und gebe Feedback.


    Danke an der Stelle, falls jemand schon die Antwort dazu kennt auch gerne direkt beantworten^^

  • Syntafin
    Punkte
    7.925
    Beiträge
    1.439
    • 7. Mai 2025 um 01:09
    • #6

    Du könntest doch innerhalb des Deployments einen Prune triggern?

  • Blacksonny
    Punkte
    2.768
    Beiträge
    505
    • 7. Mai 2025 um 23:08
    • #7

    Genau das meinte ich mit meinem letzten Beitrag hier eventuell wäre das die beste Option^^

  • Blacksonny
    Punkte
    2.768
    Beiträge
    505
    • 8. Mai 2025 um 10:56
    • #8

    Update: Mit dem Einbinden direkt in den Workflow hats perfekt funktioniert. Trotzdem danke für die Anleitung Cyburr, das könnte mir bei anderer Stelle zugutekommen:thumbup:

  1. Datenschutzerklärung
  2. Impressum