Ich lese auf der Docker Dokumentation wie ONBUILD Anweisung verwendet werden kann, aber es ist überhaupt nicht klar.
Kann mir bitte jemand das erklären?Dockerfile ONBUILD Anweisung
19
A
Antwort
28
Die ONBUILD intruction ist sehr nützlich, um den Build Ihres gewählten Software-Stacks zu automatisieren.
Beispiel
Die Maven container ist so konzipiert, Java-Programme zu kompilieren. Magisch alle Dockerfile Ihr Projekt braucht, ist zu tun, um die ONBUILD intructions Bezug der Grundbehälter enthält:
FROM maven:3.3-jdk-8-onbuild
CMD ["java","-jar","/usr/src/app/target/demo-1.0-SNAPSHOT-jar-with-dependencies.jar"]
Die Dockerfile des Basisbild alle
sagtFROM maven:3-jdk-8
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
ONBUILD ADD . /usr/src/app
ONBUILD RUN mvn install
Es gibt ein Basisbild, das sowohl Java und Maven installiert und eine Reihe von Anweisungen zum Kopieren von Dateien und Maven ausführen.
Die folgende Antwort gibt ein Java-Beispiel
Verwandte Themen
- 1. Got Fehler mit ONBUILD Optionen (Docker Toolbox in Windows)
- 2. Wie kann ich ENV-Anweisung in Dockerfile kombinieren?
- 3. Dockerfile HOSTNAME Anweisung für docker build wie docker run -h
- 4. Warum läuft meine NPM-Dockerfile-Schleife?
- 5. Knoten in Dockerfile installieren?
- 6. Erweitern lokalen Dockerfile
- 7. Dockerfile für PHP-Dienst
- 8. Dockerfile kopieren Unterverzeichnisstruktur beibehalten
- 9. Dockerfile VOLUME funktioniert nicht
- 10. Symlinked Dockerfile für Umgebungen
- 11. Dockerfile mit Postgres konfigurieren
- 12. Dockerfile Probleme mit Build
- 13. Dockerfile vs Docker Bild
- 14. Wie Bash-Funktion in Dockerfile
- 15. interaktiver docker bauen von dockerfile?
- 16. Redis Sentinel Docker Bild/Dockerfile
- 17. Anzahl der Befehle in Dockerfile
- 18. Dockerfile in Bash-Skript konvertieren
- 19. Ignorieren redmine Eingabeaufforderung, wenn dockerfile
- 20. Docker cp in eine Dockerfile
- 21. Dockerfile Build - Fehler zu ignorieren?
- 22. Dockerfile COPY: "lchown ... kein Verzeichnis"
- 23. Docker: Dockerfile vs Docker-compose.yml
- 24. docker-compose gibt ERROR: Die angegebene Dockerfile konnte nicht gefunden werden: Dockerfile
- 25. Schreiben auf Andockfenster Volumen von Dockerfile nicht
- 26. Schreiben von Dockerfile für Dockerhub Automatisierte Builds
- 27. nodeJS dockerfile Build fehlgeschlagen mit NPM
- 28. Kann eine Dockerfile eine andere erweitern?
- 29. Docker Compose vs. Dockerfile - was ist besser?
- 30. , wie eine Datei über Dockerfile zu bearbeiten
Welchen Teil von [Dokumentation] (https://docs.docker.com/engine/reference/builder/#onbuild) Sie verstehe nicht? 'Dies ist nützlich, wenn Sie ein Bild erstellen, das als Basis verwendet wird, um andere Bilder zu erstellen. –
Aber was kann ich damit machen. Bitte gib mir ein Beispiel. –
Dokumentation hat auch ein Beispiel. Zuerst können Sie Ihre benutzerdefinierte Image-Docker-Datei mit den erforderlichen Betriebssystembibliotheken erstellen: curl, gd, etc und fügen onbuild-Anweisung hinzu, um später Quellcode hinzuzufügen. Beispiel 'onbuild add src /' Später erstellen Sie eine andere Docker-Datei, verwenden jedoch zuvor erstellte Image (FROM-Anweisung) und stapeln Quellcode darauf. Sie haben also ein Bild mit Freezed OS-Level-Bibliotheken und Quellcode. –