Paketering av applikationen med Docker
Svep för att visa menyn
Du har redan en fungerande Node.js-applikation, och nu är det dags att paketera den med Docker. Medan din app hanterar förfrågningar och svar, ser Docker till att den körs tillförlitligt i alla miljöer—på din dator, en kollegas system eller i molnet.
Tänk på din app som motorn i projektet, och Docker som behållaren som bär med sig allt den behöver för att köras: din kod, beroenden och Node.js-runtime.
Skapa Dockerfile
Dockerfile instruerar Docker exakt hur en image för din Node.js-applikation ska byggas. Enkelt uttryckt är det som ett recept: steg-för-steg-instruktioner för att ställa in miljön, installera beroenden och köra applikationen i en container.
Du behöver skapa en Dockerfile i ditt my-app-projekt. Kontrollera att Dockerfile inte har någon filändelse, eftersom detta kan orsaka fel senare. Du kan ladda ner filen nedan.
Lägg till följande innehåll:
Dockerfile
En Dockerfile är en ritning för att bygga Docker-avbildningar. Varje rad är ett separat steg och Docker kör dem i ordning för att skapa en körklar applikationsavbildning.
Bygga och köra Docker-containern
Innan några kommandon körs, säkerställ att terminalen är placerad i projektets rotkatalog, till exempel: C:\Users\YourUsername\my-app.
Nu behöver du bygga en Docker-avbild för applikationen så att den kan köras i en container.
Detta kommando bygger en Docker-avbild från Dockerfile i den aktuella mappen och taggar den som my-app.
Nästa steg är att köra containern och göra den tillgänglig på port 3000 så att den kan nås via en webbläsare.
Flaggan -p 3000:3000 mappar port 3000 inuti containern till port 3000 på din lokala maskin.
Detta gör applikationen tillgänglig via din webbläsare.
Öppna en webbläsare och gå till:
Här avser localhost din egen dator, och 3000 är porten där applikationen lyssnar.
Om allt är korrekt konfigurerat bör du se:
Detta bekräftar att Node.js-servern körs inuti Docker-containern. Applikationen är nu portabel och kommer att fungera på samma sätt på alla system med Docker installerat.
1. Vad är syftet med server.js i ett Node.js-projekt?
2. Varför behövs en Dockerfile?
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal