Hallo, ich versuche gerade ein Dockerimage zu erstellen. Das funktioniert aber leider doch nicht so wie gedacht. Das Problem ist, dass qmake nicht gefunden werden kann. wenn ich qmake /usr/projects/test/test.pro aus dem Terminal aufrufe wird eine Makefile erstellt. aber aus der Dockerfile RUN qmake /usr/projects/test/test.pro oder RUN /usr/share/Qt5.6.2/5.6/bin/qmake /usr/projects/test/test.pro bekomme ich die Meldung, dass qmake nicht gefunden wurde. Wenn ich das Dockerfile ausführe, kann ich dann auf lokale sachen zugreifen ( wie z.B. qmake) oder muss das erst noch mit apt-get install installiert werden?
Johannes schrieb: > Wenn ich das Dockerfile ausführe, kann ich dann auf lokale sachen > zugreifen ( wie z.B. qmake) oder muss das erst noch mit apt-get install > installiert werden? Sinn vom Dockerfile ist es, das Kompilieren/Builden unabhängig vom Hosts-System zu machen, damit es überall reproduzierbar ist. Also "nein" und "ja". Da bietet sich dann ein Mehrstufiges Docker-File an, damit der letztlich erstellte Container nicht die ganzen Build-Dependencies mitschleppen muss. https://docs.docker.com/develop/develop-images/multistage-build/
:
Bearbeitet durch User
Docker ist eine der grössten Sch..., die es in der IT gibt! Wenn die Entwickler nicht in der Lage sind Runtime- und Abwärtskompatibilität der Libs, Abhängigkeiten usw.... im Griff zu haben, dann sollen sie zurück auf die Schulbank! Docker ist nur ein Workaround für die Faulheit.
Johannes schrieb: > ich versuche gerade ein Dockerimage zu erstellen. Das funktioniert aber > leider doch nicht so wie gedacht. > > Das Problem ist, dass qmake nicht gefunden werden kann. > wenn ich > qmake /usr/projects/test/test.pro > aus dem Terminal aufrufe wird eine Makefile erstellt. > aber aus der Dockerfile > RUN qmake /usr/projects/test/test.pro > oder > RUN /usr/share/Qt5.6.2/5.6/bin/qmake /usr/projects/test/test.pro > > bekomme ich die Meldung, dass qmake nicht gefunden wurde. > > Wenn ich das Dockerfile ausführe, kann ich dann auf lokale sachen > zugreifen ( wie z.B. qmake) oder muss das erst noch mit apt-get install > installiert werden? Ja, natürlich. Dein Base-Image (FROM) ist ein minimales Linux, wobei die einzelnen Distributoren unter "minimal" etwas unterschiedliche Dinge verstehen. Das siehst Du schon an den verschiedenen Größen einiger solcher Base-Images: ubuntu:20.04 ist zum 73 Megabyte groß, debian:latest 114 MB, und alpine:latest nur knapp 6 MB. Wie dem auch sei: alles, was nicht in diesem Base-Image enthalten ist, muß natürlich mit den bekannten Mechanismen (apt, yum, dnf, apk, ...) installiert werden. Auf etwas lokal installiertes kannst Du im Build-Prozeß nicht zugreifen, weil der Build seinerseits in eigenen Containern läuft, die automatisch dynamisch generiert und nach einem fehlerfreien Build auch automatisch wieder weggeworfen werden. Tipp am Rande: da Du anscheinend ein QT-Projekt übersetzen möchtest, möchte ich Dir wärmstens empfehlen, Dir mal Dockers "Multi Stage Builds" [1] anzuschauen, um Deine Images klein zu halten und Deinem Kunden außerdem nicht womöglich gleich auch den Quellcode zu Deiner Software mit dem Image zu liefern. ;-) [1] https://docs.docker.com/develop/develop-images/multistage-build/
Bobby X schrieb: > Docker ist eine der grössten Sch..., die es in der IT gibt! Wenn die > Entwickler nicht in der Lage sind Runtime- und Abwärtskompatibilität der > Libs, Abhängigkeiten usw.... im Griff zu haben, dann sollen sie zurück > auf die Schulbank! Docker ist nur ein Workaround für die Faulheit. Ich habe seit langer Zeit nichts mehr so Dummes gelesen.
Sheeva P. schrieb: > Ich habe seit langer Zeit nichts mehr so Dummes gelesen. Nix ist dümmer als für jede noch so kleine Anwendung mehrere Hundert MB große Images zu erstellen, konfigurieren und deployen. Meistens ohne zu verstehen was man genau macht, was genau passiert usw... usf...
Bobby X schrieb: > Nix ist dümmer als… Doch, eine Sache gibt es, die dümmer ist: Ein Werkzeug für "eine der grössten Sch..., die es in der IT gibt" zu erklären, nur weil man es auch falsch verwenden kann.
:
Bearbeitet durch User
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.