Sie können Docker-Dateien nicht kombinieren, da Konflikte auftreten können. Sie möchten eine neue Docker-Datei erstellen oder ein benutzerdefiniertes Image erstellen.
TL; DR; Wenn Ihr aktueller Entwicklungscontainer alle Tools enthält, die Sie benötigen und funktionieren, speichern Sie ihn als Image und darauf in einem Repo und erstellen Sie eine Docker-Datei, um dieses Image von diesem Repo abzurufen.
Details: Das Erstellen eines benutzerdefinierten Images ist weitaus einfacher als das Erstellen einer Docker-Datei mit einem öffentlichen Image, da Sie alle Hacks und Mods im Image speichern können. Starten Sie dazu einen leeren Container mit einem einfachen Linux-Image (oder Broadinstitute / Scala-Baseimage), installieren Sie alle benötigten Tools und konfigurieren Sie sie, bis alles ordnungsgemäß funktioniert, und speichern Sie sie (den Container) als Image. Erstellen Sie einen neuen Container aus diesem Image und testen Sie, ob Sie Ihren Code über Docker-Compose darauf aufbauen können (oder wie auch immer Sie ihn erstellen möchten). Wenn es funktioniert, haben Sie ein funktionierendes Basis-Image, das Sie in ein Repo hochladen können, damit andere es abrufen können.
Um eine Docker-Datei mit einem öffentlichen Image zu erstellen, müssen Sie alle Hacks, Mods und Setups in die Docker-Datei selbst einfügen. Das heißt, Sie müssen jede Befehlszeile, die Sie verwendet haben, in eine Textdatei einfügen und alle Hacks, Mods und Einstellungen in Befehlszeilen reduzieren. Am Ende erstellt Ihre Docker-Datei automatisch ein Bild und Sie müssen dieses Bild nicht in einem Repo speichern. Sie müssen lediglich anderen die Docker-Datei geben und sie können das Bild in ihrem eigenen Docker hochfahren.
Beachten Sie, dass Sie eine funktionierende Docker-Datei einfach anpassen können, sobald Sie eine Docker-Datei verwenden. Bei einem benutzerdefinierten Image können Probleme auftreten, bei denen Sie das Image aufgrund von Konflikten neu erstellen müssen. Beispielsweise arbeiten alle Ihre Tools mit openjdk, bis Sie eines installieren, das nicht funktioniert. Das Update beinhaltet möglicherweise die Deinstallation von openjdk und die Verwendung von Oracle One, aber alle Konfigurationen, die Sie für alle von Ihnen installierten Tools vorgenommen haben, sind fehlerhaft.