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/