Container aus Image eines anderen Host

KIJuN1

New member
Ich habe 2 NAS im Netz. Ich habe mit das Image einer lfd Anwendung aus NAS2 exportet und auf NAS 1 hinterlegt. - Es wird auch angezeigt. Da ich für die Anwendung beim Erstellen des Containers ein paar Dinge mitgeben muss (das hat bisher auch geklappt) scheint bei der Ausführung meiner "Docker run" - Sequenzen scheinbar nicht das lokale Image zur Erstellung "genommen", sondern aus dem Netz gezogen. Leider habe ich keine Ahnung von "Docker". Mein "Scipt" nutze ich seit Jahren aus einer Vorlage. Vielleicht kann mit jemand mitteilen, wo und wie ich in meinem Script anpassen muss, damit mein lokales Image angezogen wird? - Danke

docker run -it \
--name LMS-Neu \
--net=host \
-v "/volume1/HD/LMS/config":"/config":rw \
-v "/volume1/HD/Medien/music":"/Medien/music":ro \
-v "/volume1/HD/Medien/Cover":"/Medien/Cover":ro \
-v "/volume1/HD/LMS/playlist":"/playlist":rw \
-v "/etc/localtime":"/etc/localtime":ro \
-e PGID=myPGID \
-e PUID=myPUID \
Name/Name:stable
 
Hi,

das Image selbst bleibt doch eher unberührt (ausser Du hast es selbst gebaut, aber dann kannst Du es auf dem anderen Host ja auch neu bauen). Normalerweise würde man jetzt hingehen und - meiner Meinung nach - einfach die Nutzdaten auf den anderen Host schaufeln.

Du hast doch div. bind-mounts drin ("/volume1/HD/..."), da wäre schon die Frage, ob das alles mit umgezogen werden soll, oder ob die Nutzdaten auf dem NAS liegen bleiben sollen, wo sie derzeit liegen. Ansonsten... ich weiss zwar nicht, welches Image Du nutzt, da aber die Ordner "music, Cover, playlist" schon einen gewissen Verwendungszweck haben, welcher erstmal nichts mit der eigentlichen Konfiguration zu tun hat, würde ich mein Hauptaugenmerk erstmal auf den Ordner "config" legen.

Machste Dir eine docker-compose.yaml auf dem neuen Host, schmeisst das config-Verzeichnis mal rüber (Nutzdaten erstmal aussen vor gelassen), passt ggf. noch die Pfade zum config-Ordner in der docker-compose-Datei an und schaust erstmal, ob das Ding auch hoch kommt.

Von daher... https://hub.docker.com/r/lmscommunity/logitechmediaserver ist ja wohl eher weg vom Fenster, aktuell wäre dann wohl https://hub.docker.com/r/lmscommunity/lyrionmusicserver zu benutzen. Vielleicht probierst Du das einfach mal aus :) Container in Images zu exportieren ist mir bisher auch noch nie sinnvoll untergekommen (aber ich hab auch keine Ahnung) 😅
 
Danke! Für mich ist das "Docker-Thema" eher ein Tool und "Mittel zum Zweck".- Also im Detail keine Ahnung.
Ja, leider ist der "geliebte" alte LMS scheinbar nicht mehr verfügbar. - Ich bin mit dem LMS immer
gut klargekommen. Was du beschreibst sind für mich eher die "B- Dörfer".
Ich habe dich so verstanden, dass im Image meines Export-NAS die dortigen "Verdrahtungen" enthalten sind?
Mein Script hat mit den neuen "lyrionmusicserver" auf mein neues NAS "gezaubert", aber ich möchte halt den LMS,
der auf meinem alten NAS liegt.
 
Joo, dass war ein guter Tip. Ich konnte mir das passende Image auf dem NAS speichern. Leider ist, nachdem ich mein angepasste Script im Docker abspule -
mit angepasster Zeile lmscommunity/logitechmediaserver:8.4.1 ist wieder der "lyrion" als Container da.
Irgendwas passt da nicht, oder ich mache halt etwas falsch.
 
Ich habe dich so verstanden, dass im Image meines Export-NAS die dortigen "Verdrahtungen" enthalten sind?
Ein Image ist eine Blaupause, aus der ein konkreter Container erzeugt wird. Container selbst sind als Wegwerf-Instanzen eines Images gedacht. Alle dauerhaft zu speichernden Anwendungsdaten müssen über ein Volume oder bind-mount aus dem Container raus geleitet werden. .

Liest sich fast so, als wenn Du händisch Dateien im Container änderst. Der richtige Weg wäre hier ein Dockerfile zu schreiben, und daraus sein eigenes Image zu bauen, dass die Änderungen dann bereits enthält.

Ich habe mit das Image einer lfd Anwendung aus NAS2 exportet und auf NAS 1 hinterlegt.
Mit welchen Befehlen hast Du das jeweils gemacht?

Hinweis: Für Außenstehende ist es immer leichter, wenn man die exakten Befehle teilt. Gerade nicht-Profis neigen dazu Dinge wegzulassen, die sie für unwichtig halten, die sich dann hinterher als Verursacher des Problems entpuppen. Bitte nur Passwörter, Acccess Token, öffentliche IPs und Domains anonymisieren (falls es sie in Deinen Befehlen gibt).

scheint bei der Ausführung meiner "Docker run" - Sequenzen scheinbar nicht das lokale Image zur Erstellung "genommen", sondern aus dem Netz gezogen.
Wenn ein Image im lokalen Image Cache liegt, dann wird es auch verwendet. Hättest Du in deinem docker run Befehl nicht den Namen verschleiert, hätte man dich nach dem Auszug von docker image ls fragen können, um zu überprüfen, ob das Image das Du bei docker run verwendest hast, auch in deinem Cache existiert.
 
Ich habe das entsprechende Image "gepulled". Auf dem NAS wird im Portainer "
lmscommunity/logitechmediaserver:8.4.1
angezeigt.
Zuvor habe ich alles "alten" Container des LMS und des Lyrion removed.
Dann habe ich "diesmal "offen", mein "Script" abgespult:


docker run -it \
--name LMS \
--net=host \
-v "/volume1/HD/LMS/config":"/config":rw \
-v "/volume1/HD/Medien/music":"/Medien/music":ro \
-v "/volume1/HD/Medien/Cover":"/Medien/Cover":ro \
-v "/volume1/HD/LMS/playlist":"/playlist":rw \
-v "/etc/localtime":"/etc/localtime":ro \
-e PGID=myPGID \
-e PUID=myPUID \
lmscommunity/logitechmediaserver:8.4.1


Wenn ich im Browser die IP mit Port 9000 starte, öffnet sich wieder der Lyrio.

Hmmmmmmm
 
Hilft leider auch nicht.
Für mich sieht es eigentlich OK aus.
Aber es öffnet sich dann halt der Lyrio.
 

Anhänge

  • 1760194191473.png
    1760194191473.png
    45,6 KB · Aufrufe: 4
Noch ein Hinweis;
Ich habe noch´mal in "Putty" nachgesehen.
Das steht nach Ablauf meines Scripts:

Starting Logitech Media Server on port 9000...
[25-10-11 16:18:08.3541] main::init (386) Starting Logitech Media Server (v8.4.1, 1709721691, Wed Mar 6 12:11:37 CET 2024) perl 5.032001 - x86_64-linux-gnu-thread-multi

Für mich sieht das so als, als hätte man alle Images des alten LMS inhaltlich geändert??
Ein Image ist eine Blaupause, aus der ein konkreter Container erzeugt wird. Container selbst sind als Wegwerf-Instanzen eines Images gedacht. Alle dauerhaft zu speichernden Anwendungsdaten müssen über ein Volume oder bind-mount aus dem Container raus geleitet werden. .

Liest sich fast so, als wenn Du händisch Dateien im Container änderst. Der richtige Weg wäre hier ein Dockerfile zu schreiben, und daraus sein eigenes Image zu bauen, dass die Änderungen dann bereits enthält.


Mit welchen Befehlen hast Du das jeweils gemacht?

Hinweis: Für Außenstehende ist es immer leichter, wenn man die exakten Befehle teilt. Gerade nicht-Profis neigen dazu Dinge wegzulassen, die sie für unwichtig halten, die sich dann hinterher als Verursacher des Problems entpuppen. Bitte nur Passwörter, Acccess Token, öffentliche IPs und Domains anonymisieren (falls es sie in Deinen Befehlen gibt).


Wenn ein Image im lokalen Image Cache liegt, dann wird es auch verwendet. Hättest Du in deinem docker run Befehl nicht den Namen verschleiert, hätte man dich nach dem Auszug von docker image ls fragen können, um zu überprüfen, ob das Image das Du bei docker run verwendest hast, auch in deinem Cache existiert.
Ich habe keine Container-Inhalte manuell bearbeitet/ geändert.
Mein Image für das neue NAS habe ich aus dem Image-Export mit den ordinären Funktionen im Portainer.
Letztlich hatte ich ja den Tip mit dem "Pull" erhalten. Da wurde ja auch eine alte LMS als Image gezogen,
aber da scheint es sich ja scheinbar nicht mehr um den LMS zu handeln???
Am Ende vielleicht doch ein Cache-Thema, aber ich habe auch mit NAS- Neustarts gearbeitet. Am Ende startet immer
der Lyrion.
 
Zuletzt bearbeitet:
Mein Image für das neue NAS habe ich aus dem Image-Export mit den ordinären Funktionen im Portainer.

Ich habe keine Ahnung was das bedeuten soll. Ich verwende Portainer nicht - ist mir zu umständlich.

Es gibt docker image save und docker container export.

- Das erste exportiert Images (genau so, wie sie mit pull herunterladen wurden) und behält dabei die Meta-Daten des Images bei.
- Das zweite exportiert Container-Dateisysteme (ohne Volumes und Bind-Mounts) einschließlich dem, was vom Image übernommen wurde und allen Veränderungen die am Dateisystem vorgenommen wurde, ohne die Image Meta-Daten zu behalten.

In beiden Fällen entsteht ein .tar Datei, die in den lokalen Image-Cache einer anderen Docker Engine geladen werden kann.

Wie wurde das Image eingespielt?
- Bei ersterem: docker image load
- Bei zweiterem: docker image import.

Ich persönlich würde weit Abstand halten von docker container export und docker image import, da es ein extrem unsauberer Weg ist, und dieser sich nicht mehr mit den üblichen Docker Mitteln aktuell halten lässt.

Da wurde ja auch eine alte LMS als Image gezogen,
aber da scheint es sich ja scheinbar nicht mehr um den LMS???

Das wird dann wohl das sein, was mittlerweile im Image drinsteckt. Was spricht denn dagegen, dass zu verwenden, was der Hersteller selbst empfiehlt? Alte Image Versionen werden Sicherheitslücken haben. Sowas will man eigentlich nicht einsetzen.

Docker löscht keine Images aus dem lokalen Cache. Wenn für ein Repository:Tag eine neu Image Version gezogen wird, dann wird bei dem vorherigen Image das Tag durch <none> ersetzt. Man könnte es trotzdem mit docker image save <container id vom alten image> exportieren, auf das neue System kopieren und dort wieder reinladen.

Sind die beiden Produkte den so unterschiedlich?
 
Mein neu erworbenes NAS ist eigentlich ein Backup- und Testsystem, da es nun ADM 5 verwendet.
Das "alte" und genutzte NAS läuft mit ADM 4.3.3 und ist stabil.
Insofern wollte ich eigentlich auf dem neuen NAS ein komplettes Abbild meiner bisherigen Anwendungen um bei
Migration checken zu können, wie und ob es "läuft".

Nebenbei: ich setze LMS ein, da es bisher immer zuverlässig gearbeitet hat und auf optische
Änderungen kommt es mir nicht an. Meine L- Receiver habe ich schon seit Jahren.
Insofern begrüße ich es natürlich grundsätzlich, dass mal jemand versucht das Thema dieser Technologie
am Leben zu halten.
Auf den ersten Blick scheint mir LMS auch von den Einstellungs-möglichkeiten weiter vorn zu sein??
In den paar Stunden, die ich hier nun "am Zaubern" bin ,ist mir unter "Lyrion" mein Logitech-Requester
leider schon 2x im Netz abhanden gekommen. Das ist mir unter LMS bisher so nicht vorgekommen.
Immer positiv bleiben.- Vielleicht findet ja noch jemand den Weg, wie man einen alten LMS auf dem
NAS als Docker zum Fliegen bringt.
 
Teil doch mal die Ausgabe von docker image ls vom alten NAS. Dann können wir die benötigten Kommandozeilenbefehle zusammenschrauben die ausgeführt werden müssen.

Sollte auf dem alten NAS noch der "richtige" LMS Container existieren, dann könnte man sich dort die genaue Image-ID aus der Konfiguration ziehen. Falls ja, bitte die Ausgabe von docker ps -a auch teilen.

Achte beim Teilen darauf, dass du die Ausgabe im Code-Block teilst (sonst ist es unnötig schwer zu lesen):
- Erst auf das </> Symbol in der oberen Edit-Leiste klicken.
- Es erscheint ein Popup-Fenster, in dass dann der Inhalt reinkopiert werden kann.
 
Teil doch mal die Ausgabe von docker image ls vom alten NAS. Dann können wir die benötigten Kommandozeilenbefehle zusammenschrauben die ausgeführt werden müssen.

Sollte auf dem alten NAS noch der "richtige" LMS Container existieren, dann könnte man sich dort die genaue Image-ID aus der Konfiguration ziehen. Falls ja, bitte die Ausgabe von docker ps -a auch teilen.

Achte beim Teilen darauf, dass du die Ausgabe im Code-Block teilst (sonst ist es unnötig schwer zu lesen):
- Erst auf das </> Symbol in der oberen Edit-Leiste klicken.
- Es erscheint ein Popup-Fenster, in dass dann der Inhalt reinkopiert werden kann.
Ich nutze meine NAS nur zum Freizeitspaß, ich gehöre aber zu denen, die gerne verstehen, wie und warum etwas läuft oder halt nicht.
Eure Tips bringen mein Verständnis zu dem Thema auf jeden Fall weiter,- denke ich zumindest. (Danke)
Zu meinem Verständnis: Ich verstehe die Beschreibung so, dass mein Versuch, über einen Docker- Export des LMS- Image auf dem alten NAS, im Grunde kein neues Image, meines auf dem alten NAS laufenden LMS, entstanden ist?
(Auf meinem alten NAS läuft aktuell definitiv noch der alte LMS)
Ich hatte angenommen, dass der Docker Export des LMS-Image auf dem alten NAS, das dort liegende alte LMS-Image, und somit einen funktionierenden LMS exportiert? Genau genommen wird später, nach dem Import auf dem neuen NAS, nichts weiter passieren, als das, was ich mit dem "Pull" erlebt habe, es wird also lediglich der Lyrio " gezogen"? Image bedeutet hier also nicht Inhalte eines laufenden Systems? Wenn es halt nur über den Container vom LMS auf dem alten NAS, wie du beschrieben hast, klappt, muss ich mal schauen, ob ich das von dir Beschriebene hinbekomme. Für mich hängt da nichts von ab, aber ich würde es halt ganz schön finden auf meinem neuen NAS die gleichen Anwendungen zu haben. (habe mich halt auch über die Zeit an den LMS gewöhnt und der funktionierte bisher auch einwandfrei)
Da ich auch offen für "Neues" bin beschäftige ich mich auch gerne nebenher mit dem Lyrio.- Den könnte ich ja jeweils bei Bedarf starten. (da muss ich halt zwischen LMS und Lyrio jeweils mit den Containern jeweils starten/stoppen - sollte aber machbar sein)
 
Teil doch mal die Ausgabe von docker image ls vom alten NAS. Dann können wir die benötigten Kommandozeilenbefehle zusammenschrauben die ausgeführt werden müssen.

Sollte auf dem alten NAS noch der "richtige" LMS Container existieren, dann könnte man sich dort die genaue Image-ID aus der Konfiguration ziehen. Falls ja, bitte die Ausgabe von docker ps -a auch teilen.

Achte beim Teilen darauf, dass du die Ausgabe im Code-Block teilst (sonst ist es unnötig schwer zu lesen):
- Erst auf das </> Symbol in der oberen Edit-Leiste klicken.
- Es erscheint ein Popup-Fenster, in dass dann der Inhalt reinkopiert werden kann.
Ich habe einmal nachgesehen, habe aber leider keinen wirklichen Plan, wo ich was machen kann/soll.

Zunächst über SSH: "docker ps -a

Ausgabe:
0f6589555d69 portainer/portainer-ce:latest "/portainer --sslcer…" 9 days ago Up About a minute 0.0.0.0:19800->8000/tcp, [::]:19800->8000/ tcp, 0.0.0.0:19900->9000/tcp, [::]:19900->9000/tcp, 0.0.0.0:19943->9443/tcp, [:: ]:19943->9443/tcp PortainerCE
0abe42c27bce lmscommunity/logitechmediaserver:stable "start-container" 19 months ago Up About a minute LMS

In Sachen "Achte beim Teilen....", finde ich hier nichts, bzw weiß ich nicht, wie das funktioniert.
Ich kann mir lediglich über "Inspect" den Inhalt des Containers anzeigen lassen.
 

Letzte Anleitungen

Statistik des Forums

Themen
7.230
Beiträge
70.338
Mitglieder
7.666
Neuestes Mitglied
Artax
Zurück
Oben