Kurz: Vytvoření aplikace Docker pomocí editoru Visual Studio Code

Tento kurz je začátek čtyřdílné série, která představuje Docker pro použití se sadou Visual Studio Code (VS Code). Naučíte se vytvářet a spouštět kontejnery Dockeru, uchovávat data a spravovat více kontejnerů pomocí Docker Compose.

VS Code nabízí rozšíření Dockeru, které umožňuje pracovat s místní desktopovou službou Dockeru. Docker Desktop běží na vašem počítači a spravuje místní kontejnery, což jsou komprimovaná virtualizovaná prostředí, která poskytují platformu pro vytváření a spouštění aplikací. Kontejnery nevyžadují velikost a režii kompletního operačního systému.

V tomto prvním kurzu se naučíte:

  • Vytvořte kontejner Dockeru.
  • Sestavte image kontejneru.
  • Spusťte kontejner aplikace.

Předpoklady

Tento kurz funguje s Windows 10 nebo novějším a Desktopem Dockeru nakonfigurovaným pro použití kontejnerů Linuxu.

Vytvoření kontejneru

Kontejner je proces ve vašem počítači. Je izolovaný od všech ostatních procesů na hostitelském počítači. Tato izolace používá obory názvů jádra a kontrolní skupiny.

Kontejner používá izolovaný systém souborů. Tento vlastní systém souborů poskytuje image kontejneru. Image obsahuje vše potřebné ke spuštění aplikace, jako jsou všechny závislosti, konfigurace, skripty a binární soubory. Image také obsahuje další konfiguraci kontejneru, jako jsou proměnné prostředí, výchozí příkaz ke spuštění a další metadata.

Po instalaci rozšíření Dockeru pro VS Code můžete pracovat s kontejnery ve VS Code. Kromě kontextových nabídek v podokně Dockeru můžete výběrem možnosti Terminálový>nový terminál otevřít okno příkazového řádku. Příkazy můžete také spustit v okně Bash. Pokud není zadaný, může jakýkoli příkaz označený jako Bash běžet v okně Bash nebo v terminálu VS Code.

  1. Nastavte Docker na režim kontejneru Linuxu. Pokud chcete přepnout na kontejnery Linuxu, pokud jste aktuálně nastaveni na kontejnery Windows, klikněte pravým tlačítkem myši na ikonu Dockeru v hlavním panelu systému, zatímco je spuštěná aplikace Docker Desktop, a zvolte Přepnout na kontejnery Linuxu.

  2. Ve VS Code vyberte Terminál>nový terminál.

  3. V okně terminálu nebo v okně Bash spusťte tento příkaz.

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

    Tento příkaz obsahuje následující parametry:

    • -d Spusťte kontejner v odpojeném režimu na pozadí.
    • -p 80:80 Namapujte port 80 hostitele na port 80 v kontejneru.
    • docker/getting-started Určuje obrázek, který se má použít.

    Tip

    Pokud chcete zkrátit celý příkaz, můžete zkombinovat příznaky s jedním znakem. Například výše uvedený příkaz může být napsán takto:

    docker run -dp 80:80 docker/getting-started
    
  4. V editoru VS Code vyberte ikonu Dockeru vlevo a zobrazte rozšíření Dockeru.

    Screenshot shows the Docker extension with the docker/getting-started tutorial running.

    Rozšíření Docker VS Code ukazuje kontejnery spuštěné na vašem počítači. Můžete přistupovat k protokolům kontejnerů a spravovat životní cyklus kontejneru, jako je zastavení a odebrání.

    Název kontejneru, modest_shockley v tomto příkladu, se náhodně vytvoří. Vaše jméno bude mít jiný název.

  5. Kliknutím pravým tlačítkem myši na docker nebo začínáme otevřete místní nabídku. Klikněte na Open in Browser (Otevřít v prohlížeči).

    Místo toho otevřete prohlížeč a zadejte http://localhost/tutorial/.

    Zobrazí se stránka hostovaná místně, o DockerLabs.

  6. Kliknutím pravým tlačítkem myši na docker nebo začínáme otevřete místní nabídku. Výběrem možnosti Odebrat odeberete tento kontejner.

    Pokud chcete kontejner odebrat pomocí příkazového řádku, spuštěním tohoto příkazu získejte ID kontejneru:

    docker ps
    

    Pak kontejner zastavte a odeberte:

    docker stop <container-id>
    docker rm <container-id>
    
  7. Aktualizujte si stránku v prohlížeči. Stránka Začínáme, kterou jste viděli před chvíli, je pryč.

Vytvoření image kontejneru pro aplikaci

Tento kurz používá jednoduchou aplikaci todo.

Screenshot shows the sample application with several items added and a text box and button to add new items.

Aplikace umožňuje vytvářet pracovní položky a označit je jako dokončené nebo je odstranit.

Pokud chcete vytvořit aplikaci, vytvořte soubor Dockerfile. Soubor Dockerfile je textový skript instrukcí, který slouží k vytvoření image kontejneru.

  1. Přejděte do úložiště Docker Getting Started Tutorial a pak vyberte KÓD>KE STAŽENÍ ZIP. Extrahujte obsah do místní složky.

    Screenshot shows part of the Github site, with the green Code button and Download ZIP option highlighted.

  2. Ve VS Code vyberte Složku Otevřít soubor>. Přejděte do složky aplikace v extrahovaném projektu a otevřete ji. Měli byste vidět soubor s názvem package.json a dvě složky s názvem src a spec.

    Screenshot of Visual Studio Code showing the package.json file open with the app loaded.

  3. Ve stejné složce jako file package.json vytvořte soubor s názvem Dockerfile s následujícím obsahem.

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

    Poznámka:

    Ujistěte se, že soubor nemá příponu souboru, například .txt.

  4. V Průzkumníku souborů v editoru VS Code vlevo klikněte pravým tlačítkem na soubor Dockerfile a pak vyberte Sestavit image. Do textového pole pro zadávání textu zadejte úvodní značku obrázku.

    Značka je popisný název obrázku.

    K vytvoření image kontejneru z příkazového řádku použijte následující příkaz.

    docker build -t getting-started .
    

    Poznámka:

    V externím okně Bash přejděte do app složky, která obsahuje soubor Dockerfile a spusťte tento příkaz.

Pomocí souboru Dockerfile jste vytvořili novou image kontejneru. Možná jste si všimli, že se stáhlo mnoho "vrstev". Soubor Dockerfile začíná z node:20-alpine image. Pokud už tento obrázek nebyl ve vašem počítači, musel být tento obrázek stažen.

Po stažení image zkopíruje soubor Dockerfile vaši aplikaci a použije yarn ji k instalaci závislostí vaší aplikace. Hodnota CMD v souboru Dockerfile určuje výchozí příkaz, který se má spustit při spuštění kontejneru z této image.

Na . konci docker build příkazu říká, že Docker by měl vyhledat soubor Dockerfile v aktuálním adresáři.

Spuštění kontejneru aplikace

Teď, když máte image, můžete aplikaci spustit.

  1. Ke spuštění kontejneru použijte následující příkaz.

    docker run -dp 3000:3000 getting-started
    

    Parametr -d označuje, že kontejner spouštíte v odpojeném režimu na pozadí. Tato -p hodnota vytvoří mapování mezi portem hostitele 3000 a portem kontejneru 3000. Bez mapování portů byste k aplikaci neměli přístup.

  2. Po několika sekundách klikněte v editoru VS Code v oblasti Dockeru v části KONTEJNERY pravým tlačítkem myši na začínáme a vyberte Otevřít v prohlížeči. Místo toho můžete otevřít webový prohlížeč na http://localhost:3000.

    Měla by se zobrazit spuštěná aplikace.

    Screenshot shows the sample app with no items and the text No items yet Add one above.

  3. Přidejte položku nebo dva k otestování, pokud funguje podle očekávání. Položky můžete označit jako dokončené a odebrat. Front-end úspěšně ukládá položky do back-endu.

Další kroky

Dokončili jste tento kurz a máte spuštěného správce seznamu úkolů s několika položkami. Naučili jste se vytvářet image kontejnerů a spouštět kontejnerizovanou aplikaci.

Udržujte všechno, co jste zatím udělali, abyste mohli pokračovat v této sérii kurzů. Dále zkuste část II této série:

Tady jsou některé zdroje informací, které by pro vás mohly být užitečné: