Pakning af Applikationen med Docker
Stryg for at vise menuen
Du har allerede en fungerende Node.js-applikation, og nu er det tid til at pakke den med Docker. Mens din app håndterer forespørgsler og svar, sikrer Docker, at den kører pålideligt i ethvert miljø—på din egen maskine, en kollegas system eller i skyen.
Tænk på din app som motoren i projektet, og Docker som containeren, der bærer alt, hvad den har brug for for at køre: din kode, afhængigheder og Node.js-runtime.
Oprettelse af Dockerfile
Dockerfile fortæller Docker præcis, hvordan der skal bygges et image til din Node.js-applikation. Kort sagt fungerer det som en opskrift: trin-for-trin-instruktioner til at opsætte miljøet, installere afhængigheder og køre applikationen inde i en container.
Du skal oprette en Dockerfile i dit my-app-projekt. Sørg for, at Dockerfile ikke har nogen filendelse, da dette kan forårsage fejl senere. Du kan downloade filen nedenfor.
Tilføj følgende indhold:
Dockerfile
En Dockerfile fungerer som en skabelon for opbygning af Docker-images. Hver linje repræsenterer et separat trin, og Docker udfører dem i rækkefølge for at skabe et klar-til-brug applikationsimage.
Bygning og kørsel af Docker-containeren
Inden du kører nogen kommandoer, skal du sikre dig, at din terminal er placeret i projektets rodmappe, for eksempel: C:\Users\YourUsername\my-app.
Nu skal du bygge et Docker-image til vores applikation, så det kan køre inde i en container.
Denne kommando bygger et Docker-image fra Dockerfile i den aktuelle mappe og tagger det som my-app.
Dernæst skal du køre containeren og gøre den tilgængelig på port 3000, så du kan tilgå den via en browser.
Flaget -p 3000:3000 kortlægger port 3000 inde i containeren til port 3000 på din lokale maskine.
Dette gør applikationen tilgængelig gennem din browser.
Åbn en browser og gå til:
Her henviser localhost til din egen computer, og 3000 er porten, hvor applikationen lytter.
Hvis alt er sat korrekt op, bør du se:
Dette bekræfter, at Node.js-serveren kører inde i Docker-containeren. Applikationen er nu portabel og vil fungere på samme måde på ethvert system med Docker installeret.
1. Hvad er formålet med server.js i et Node.js-projekt?
2. Hvorfor er en Dockerfile nødvendig?
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat