ubuntuusers.de

Portainer - wie kann ich dem Container beim Start eine Software installieren lassen

Status: Ungelöst | Ubuntu-Version: Kein Ubuntu
Antworten |

drnicolas

Anmeldungsdatum:
31. Oktober 2010

Beiträge: 136

Ich benutze eine Software namens Automatic Ripping machine zum Rippen von CDs.

Das Ganze ist als Docker-Container realisiert und funktioniert mittlerweile ganz ordentlich.

gestartet wird der Container einmalig mit folgendem Befehl in einer .sh-Datei:

#!/bin/bash
docker run -d \
    -p "8080:8080" \
    -e ARM_UID="1000" \
    -e ARM_GID="1000" \
    -e TZ="Europe/Berlin" \
    -v "/home/arm:/home/arm" \
    -v "/home/arm/music:/home/arm/music" \
    -v "/home/arm/logs:/home/arm/logs" \
    -v "/home/arm/media:/home/arm/media" \
    -v "/etc/arm/config:/etc/arm/config" \
    -v "/etc/udev:/etc/udev" \
    --device="/dev/sr0:/dev/sr0" \
    --device="/dev/sr1:/dev/sr1" \
    --device="/dev/sr2:/dev/sr2" \
    --privileged \
    --restart "always" \
    --name "arm-rippers" \
    automaticrippingmachine/automatic-ripping-machine:latest

Danach taucht der Container in Portainer auf -soweit alles schick.

nun benötige ich innerhalb des Conatiners ein kleines Python-Skript, welches die erzeugten Dateinamen anpasst und ulkige Effekte durch Umlaute oder Sonderzeichen vermeidet. Die Routine stammt nicht von mir, benötig aber das Modul "unidecode".

Das muß ich innerhlab des Containers von der shell aus installieren. geht zwar, muß aber nach jedem Container-neustart erneut ausgeführt werden.

Wie kann ich das automatisieren? ggf. auch von der .sh-Datei wegkommen. Aber wie?

Bearbeitet von redknight:

Forensyntax

encbladexp Team-Icon

Ehemaliger
Avatar von encbladexp

Anmeldungsdatum:
16. Februar 2007

Beiträge: 17615

Ein Dockerfile schreiben, und das von "automaticrippingmachine/automatic-ripping-machine:latest" ableiten, fertig.

Du sollest das wirklich auf Docker Compose umstellen, wir haben 2025, niemand sollte so lange Befehle als Script mehr ausführen müssen.

drnicolas

(Themenstarter)

Anmeldungsdatum:
31. Oktober 2010

Beiträge: 136

Ja, das ist sicherlich richtig. Ich habe das "as is" übernommen und bin nicht wirklich firm das umzuändern.

Gibt's da irgendwo Hilfe dazu ?

BillMaier Team-Icon

Supporter

Anmeldungsdatum:
4. Dezember 2008

Beiträge: 6520

schau dir den Aufbau/die Syntax einer docker-compose-Datei an. Das ist nicht komplexer als das, was du bisher machst. Solltest du Zeile für Zeile einfach in die docker-compose übertragen können.

BillMaier Team-Icon

Supporter

Anmeldungsdatum:
4. Dezember 2008

Beiträge: 6520

encbladexp schrieb:

Ein Dockerfile schreiben, und das von "automaticrippingmachine/automatic-ripping-machine:latest" ableiten, fertig.

Auch das müsste m.E. via build in der docker-compose abzubilden sein. Hab das aber nie gemacht, bin vorher zu Kubernetes gewechselt.

Antworten |