Liebe Forenden, angeregt durch diesen [1] Thread, habe ich das aktuelle Kicad samt Libraries in Docker eingepackt und ein kleines Makefile zum Bau eines Image und Start eines Containers mit Kicad gebastelt. Voraussetzungen =============== Voraussetzung ist, daß lokal Docker, make und envsubst (Paket gettext-base) installiert sind. (Ansonsten ist das keine Raketenwissenschaft, und erfahrene Nutzer können sich die entsprechenden Dateien und Befehle natürlich problemlos aus der Veranstaltung herauspicken.) Vorsicht: da alle Kicad-Libraries installiert werden, ist das Image am Ende wenig über 6 GB groß. Genug freier Diskspace ist also zwingend notwendig! Verwendung ========== Wenn diese Voraussetzungen erfüllt sind, kann in dem entpackten Verzeichnis aus dem Zip-Archiv einfach der Befehl "make" aufgerufen werden. Funktion ======== Das Makefile erzeugt mit envsubst aus dem Dockerfile.template ein Dockerfile und ersetzt dabei die Platzhalter aus dem Template mit dem Benutzernamen und der Benutzer-ID des lokalen Benutzers. Hernach wird ein Docker-Image mit dem originellen Namen "kicad" und dem Standard-Tag "latest" gebaut -- das dauert eine Weile -- und startet dann daraus Container mit dem keineswegs weniger originellen Namen "kicad". Wenn der Container einmal erzeugt wurde, ist es ausreichend, nurmehr "docker start kicad" einzugeben. Durch die Konfiguration des Benutzers im Dockerfile (und mittels envsubst) startet das Kicad im Container mit dem Benutzernamen, der Benutzer-ID, und durch den Mountpoint /home auch im Home-Verzeichnis des Benutzers. Wer das anders haben möchte, kann es natürlich gerne anders konfigurieren. ACHTUNG: vor dem Starten des Containers gebe ich den X-Server für Zugriffe von außen frei und sperre ihn nach dem Stoppen wieder. Das sollte auf den meisten Einzelplatzsystemen kein größeres Sicherheitsrisiko darstellen, es gefällt mir aber trotzdem nicht. Leider habe ich (noch?) nicht herausgefunden, wie ich das weiter einschränken kann, und ich habe auch schon lange nichts mehr mit xauth gemacht. Wer Ideen dazu hat, ist mir immer herzlich willkommen. Viel Spaß, Glück und Erfolg! [1] Beitrag "Installation KiCAD 9 unter Linux schlägt fehl"
:
Verschoben durch Moderator
Welchen Sinn macht es eigentlich, ein simples Programm, was auf dem Systemn vermutlich ohnehin nur als Single-Instanz läuft, in einen Docker-Container einzusperren?
Warum nicht das existierende Dockerfile nehmen? https://gitlab.com/kicad/packaging/kicad-cli-docker/-/blob/main/Dockerfile.9.0-stable?ref_type=heads Dann wäre es auch die brandaktuelle Version. Jens G. schrieb: > Welchen Sinn macht es eigentlich, ein simples Programm So simpel ist es nicht, es hat sehr viele Abhängigkeiten und ist groß. Wenn man das z.B. auf einem CI-Server laufen lassen will, hat der Container Vorteile. Auf manchen CI-Systemen wie den gitlab.com -Runnern muss man es in einem Container haben
Niklas G. schrieb: > Jens G. schrieb: >> Welchen Sinn macht es eigentlich, ein simples Programm > > So simpel ist es nicht, es hat sehr viele Abhängigkeiten und ist groß. Mit simpel meinte ich nicht dessen technischen Ansprüche, sondern dessen simplen Anwendungs-Kontext. Also was macht es bei KiCad "notwendig", das in einen Container packen zu wollen?
:
Bearbeitet durch User
Jens G. schrieb: > Also was macht es bei KiCad "notwendig", das in einen Container packen > zu wollen? Es auf einem System zu installieren, auf das sich der Wust von Abhängigkeiten nicht so leicht einrichten lässt. Das ist ja sowieso der Haupt-Usecase von Containern.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.