Dela via


Självstudie: Skapa en containerapp med Visual Studio Code

Den här självstudien är början på en serie i fyra delar som introducerar Docker- för användning med Visual Studio Code (VS Code). Du lär dig att skapa och köra Docker-containrar, spara dataoch hantera flera containrar med Docker Compose.

VS Code erbjuder ett containerverktygstillägg som gör att du kan arbeta med en lokal Docker Desktop-tjänst. Docker Desktop körs på datorn och hanterar dina lokala containrar, som är kompakta virtualiserade miljöer som tillhandahåller en plattform för att skapa och köra appar. Container kräver inte storleken och överheaden av ett fullständigt operativsystem.

I den här första guiden lär du dig att:

  • Skapa en Docker-container.
  • Skapa en containeravbildning.
  • Starta en appcontainer.

Förutsättningar

Självstudien fungerar med Windows 10 eller senare och Docker Desktop har konfigurerats för att använda Linux-containrar.

Skapa en container

En container är en process på datorn. Den är isolerad från alla andra processer på värddatorn. Isoleringen använder kernelnamnområden och kontrollgrupper.

En container använder ett isolerat filsystem. Det här anpassade filsystemet tillhandahålls av en containerbild. Avbildningen innehåller allt som behövs för att köra ett program, till exempel alla beroenden, konfiguration, skript och binärfiler. Avbildningen innehåller även annan konfiguration för containern, till exempel miljövariabler, ett standardkommando som ska köras och andra metadata.

När du har installerat containerverktygstillägget för VS Code kan du arbeta med containrar i VS Code. Förutom snabbmenyer i Container Explorer kan du välja Terminal>Ny terminal för att öppna ett kommandoradsfönster. Du kan också köra kommandon i ett Bash-fönster. Om inget annat anges kan alla kommandon som är märkta som Bash- köras i ett Bash-fönster eller i VS Code-terminalen.

  1. Ange Docker till Linux-containerläge. Om du vill växla till Linux-containrar om du för närvarande är inställd på Windows-containrar högerklickar du på Docker-ikonen i systemfältet medan Docker Desktop körs och väljer Växla till Linux-containrar.

  2. I VS Code väljer du Terminal>New Terminal.

  3. Kör det här kommandot i terminalfönstret eller ett Bash-fönster.

    docker run -d -p 80:80 docker/getting-started
    

    Det här kommandot innehåller följande parametrar:

    • -d Kör containern i frånkopplat läge i bakgrunden.
    • -p 80:80 Mappa port 80 för värden till port 80 i containern.
    • docker/getting-started Anger vilken avbildning som ska användas.

    Tips

    Du kan kombinera flaggor med ett tecken för att förkorta det fullständiga kommandot. Kommandot ovan kan till exempel skrivas som:

    docker run -dp 80:80 docker/getting-started
    
  4. I VS Code väljer du ikonen Containrar till vänster för att visa Container Explorer.

    Skärmbild som visar Container Tools-extensionen med Docker-tutorialen getting-started körande.

    Container Tools VS Code-tillägget visar de containrar som körs på datorn. Du kan komma åt containerloggar och hantera containerlivscykeln, till exempel stoppa och ta bort.

    Containernamnet, modest_shockley i det här exemplet, skapas slumpmässigt. Din har ett annat namn.

  5. Högerklicka på docker/getting-started för att öppna en kontextmeny. Välj Öppna i webbläsaren.

    Öppna i stället en webbläsare och ange http://localhost/tutorial/.

    Du kommer att se en sida om DockerLabs som hostas lokalt.

  6. Högerklicka på docker/getting-started för att öppna en kontextmeny. Välj Ta bort för att ta bort den här containern.

    Om du vill ta bort en container med hjälp av kommandoraden kör du det här kommandot för att hämta dess container-ID:

    docker ps
    

    Stoppa och ta sedan bort containern:

    docker stop <container-id>
    docker rm <container-id>
    
  7. Uppdatera webbläsaren. Sidan Komma igång som du såg för en stund sedan är borta.

Skapa en containeravbildning för appen

I den här självstudien används ett enkelt Todo-program.

Skärmbild som visar exempelprogrammet med flera objekt tillagda och en textruta och knapp för att lägga till nya objekt.

Med appen kan du skapa arbetsobjekt och markera dem som slutförda eller ta bort dem.

Bygg programmet genom att skapa en Dockerfile. En Dockerfile är ett textbaserat skript med instruktioner som används för att skapa en containeravbildning.

  1. Gå till Docker Kom-igång-guide och välj sedan Kod>Ladda ner ZIP. Extrahera innehållet till en lokal mapp.

    Skärmbild som visar en del av GitHub-webbplatsen med den gröna knappen Kod och alternativet Ladda ned ZIP markerat.

  2. I VS Code väljer du Fil>Öppna mapp. Gå till mappen app i det extraherade projektet och öppna mappen. Du bör se en fil med namnet package.json och två mappar som heter src och spec.

    Skärmbild av Visual Studio Code som visar package.json filen öppen med appen inläst.

  3. Skapa en fil med namnet Dockerfile i samma mapp som filen package.json med följande innehåll.

    FROM node:lts-alpine
    RUN apk add --no-cache python3 g++ make
    WORKDIR /app
    COPY . .
    RUN yarn install --production
    CMD ["node", "/app/src/index.js"]
    

    Notera

    Kontrollera att filen inte har något filnamnstillägg som .txt.

  4. I filutforskaren till vänster i VS Code, högerklicka på Dockerfile och välj sedan Bygg Bild. Ange getting-started som tagg för bilden i textrutan.

    Taggen är ett beskrivande namn för bilden.

    Om du vill skapa en containeravbildning från kommandoraden använder du följande kommando från mappen app som har Dockerfile.

    docker build -t getting-started .
    

Du har använt Dockerfile för att skapa en ny containeravbildning. Du kanske har märkt att många "lager" har laddats ned. Dockerfile startar från avbilden node:lts-alpine. Om inte avbildningen redan fanns på datorn behövde avbildningen laddas ned.

När avbildningen har laddats ned kopierar Dockerfile applikationen och använder yarn för att installera applikationens beroenden. Värdet CMD i Dockerfile anger standardkommandot som ska köras när du startar en container från den här avbildningen.

. i slutet av kommandot docker build anger att Docker ska leta efter Dockerfile- i den aktuella katalogen.

Starta din appcontainer

Nu när du har en avbildning kan du köra programmet.

  1. Starta containern med hjälp av följande kommando.

    docker run -dp 3000:3000 getting-started
    

    Parametern -d anger att du kör containern i frånkopplat läge i bakgrunden. Värdet -p skapar en mappning mellan värdporten 3000 och containerporten 3000. Utan portmappningen skulle du inte kunna komma åt programmet.

  2. Efter några sekunder, i VS Code, i Container Explorer , högerklickar du på Komma igång och väljer Öppna i Webbläsare. Du kan i stället öppna webbläsaren till http://localhost:3000.

    Du bör kunna se att appen kör.

    Skärmbild som visar exempelappen utan objekt och texten Inga objekt ännu Lägg till ett ovan.

  3. Lägg till ett objekt eller två för att testa om det fungerar som förväntat. Du kan markera objekt som slutförda och ta bort objekt. Användargränssnittet lagrar framgångsrikt objekt i bakänden.

Nästa steg

Du har slutfört den här guiden och du har en att göra-lista med några saker. Du har lärt dig att skapa containeravbildningar och köra en containerbaserad app.

Behåll allt du har gjort hittills för att fortsätta den här serien med självstudier. Prova sedan del II i den här serien:

Här är några resurser som kan vara användbara för dig: