Hoe u een afbeelding voor een Java-toepassing kunt bouwen met behulp van een Dockerfile

Hoe U Een Afbeelding Voor Een Java Toepassing Kunt Bouwen Met Behulp Van Een Dockerfile



Docker is een forum dat is ontworpen om ontwikkelaars te helpen bij het bouwen, implementeren en uitvoeren van containerapplicaties. Voor dat doel worden Docker-images gebruikt. Docker-images zijn in feite een uitvoerbaar pakket van een applicatie dat alles bevat wat nodig is om een ​​applicatie uit te voeren. Ontwikkelaars kunnen verschillende images bouwen voor alle soorten applicaties, zoals Java en nog veel meer.

De uitkomsten van deze blog zijn:







Hoe bouw ik een afbeelding met behulp van een Dockerfile voor een Java-toepassing?

Bekijk de volgende stappen om een ​​image voor een Java-applicatie te bouwen via de Dockerfile.



Stap 1: Open de Java-map



Start eerst de broncode-editor van uw voorkeur en ga naar de map waarin uw Java-toepassing zich bevindt. Zo openden we bijvoorbeeld de Visual Studio-code broncode-editor en klik op de open folder… keuze:






Kies nu de specifieke map op uw lokale computer en druk op Selecteer map knop. Hier hebben we de Java1 map:


Stap 2: Open het Java-toepassingsbestand



Open vervolgens uw Java-toepassingsmap en bekijk de bestaande bestanden. In ons geval bestaat er slechts één bestand met de naam demo2.java die de volgende code bevat:

klasse demo1 {
openbare statische leegte hoofd ( Snaar [ ] arg ) {
System.out.println ( 'Hallo, welkom op mijn LinuxHint-pagina' ) ;
}
}



Stap 3: Dockerbestand maken

Klik vervolgens op het hieronder gemarkeerde pictogram om een ​​Dockerfile te maken:


Zoals u kunt zien, is het Dockerfile met succes aangemaakt:


Stap 4: Dockerbestand bewerken

Plak daarna de volgende code in het Dockerfile:

VAN openjdk: elf
WERKDIR / app
KOPIE. .
CMD [ 'Java' , './demo1.java' ]


Hier:

    • VAN commando wordt gebruikt om de basisafbeelding in te stellen voor volgende instructies. Ons basisbeeld is openjdk:11 .
    • WERKDIR De opdracht wordt gebruikt om op elk gewenst moment de werkmap van de Docker-container op te geven. Hier, /app is een werkmap.
    • KOPIËREN opdracht wordt gebruikt voor het kopiëren van bestanden van het hostsysteem naar de nieuw gemaakte Docker-image. In ons geval kopieert het het bestand uit de huidige werkmap en plakt het in het huidige containerpad.
    • CMD opdracht wordt gebruikt om de opdracht op te geven die moet worden uitgevoerd wanneer een Docker-container start. Hier, Java is het uitvoerbare bestand en de demo1.java bestand is een parameter:



Stap 5: Open een nieuwe terminal

Klik vervolgens op de hieronder gemarkeerde drie stippen, kies de Terminal optie, en druk op Nieuwe terminal een nieuwe terminal lanceren:


Stap 6: Bouw Docker-image

Nadat u dit hebt gedaan, voert u de meegeleverde opdracht uit om een ​​Docker-image voor een Java-toepassing te bouwen:

havenarbeider gebouwd -T demo1.


In het bovengenoemde commando:

    • havenarbeider gebouwd commando wordt gebruikt om een ​​afbeelding te genereren.
    • -T tag wordt gebruikt voor het opgeven van de afbeeldingsnaam.
    • demo1 is onze afbeeldingsnaam.
    • . gebruikt om de afbeelding te laden:



Stap 7: Lijst afbeeldingen

Om te controleren of er een nieuwe Docker-image is gebouwd of niet voor de Java-toepassing, voert u de volgende opdracht uit:

docker-afbeeldingen


Volgens de onderstaande uitvoer bestaat de nieuwe docker-image in de lijst:


Stap 8: Voer Build Docker Image uit

Voer ten slotte de build Docker-installatiekopie uit via de havenarbeider uitgevoerd commando samen met de naam van de afbeelding:

docker voert demo1 uit


Als gevolg hiervan zal het de afbeelding uitvoeren en alle bestaande instructies weergeven:

Welk type problemen treedt vaak op tijdens het bouwen van Docker-images?

Bij het bouwen van een nieuwe image op Docker komen gebruikers vaak meerdere problemen tegen, die hieronder worden vermeld:

    • Als ontwikkelaars krachtige raamwerken van een programmeertaal zouden gebruiken om gemakkelijk applicaties te maken, zouden ze het moeilijk kunnen vinden om Dockerfile te schrijven voor het bouwen van applicatie-images.
    • Gegenereerde afbeeldingen kunnen groot zijn en meer ruimte in beslag nemen, omdat wanneer gebruikers een afbeelding proberen te bouwen, elke opdracht in de Dockerfile een laag van de afbeelding genereert die de afbeeldingsstructuur complexer maakt en de afbeeldingsgrootte vergroot.
    • Als ontwikkelaars de broncode van hun applicatie in de uiteindelijke afbeelding verpakken, kan dit leiden tot codelekken.

Dat is het! We hebben de methode beschreven om via Dockerfile een image voor een Java-applicatie te bouwen.

Conclusie

Docker-images bevatten de reeks instructies die worden gebruikt voor het uitvoeren van de applicatie in een container zoals Java . Om een ​​image te bouwen met behulp van een Dockerfile voor een Java-toepassing, moet u eerst de specifieke map openen die de Java-broncodebestanden bevat. Maak vervolgens een nieuw Dockerbestand en voeg de vereiste opdrachten toe. Open daarna de terminal en voer het docker build -t opdracht om een ​​afbeelding te maken. In deze handleiding hebben we de procedure geïllustreerd voor het bouwen van een nieuwe image met behulp van de Dockerfile.