Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento podrobný průvodce vám pomůže začít sestavovat a spouštět kontejnery Linuxu na Windows pomocí wslc.exerozhraní příkazového řádku kontejneru, které je součástí WSL.
wslc.exe poskytuje známé rozhraní příkazového řádku pro sestavování, přesouvání a spouštění kontejnerizovaných aplikací.
Přehled kontejnerů WSL
Kontejner je nástroj, který slouží k vytváření, nasazování a spouštění aplikací. Kontejnery umožňují vývojářům zabalit aplikaci se všemi částmi, které potřebuje (knihovny, architektury, závislosti atd.) a odeslat je jako jeden balíček. Použití kontejneru zajišťuje, aby aplikace běžela stejně bez ohledu na všechna přizpůsobená nastavení nebo dříve nainstalované knihovny v počítači, na kterém je spuštěná, která se mohla lišit od počítače použitého k zápisu a otestování kódu aplikace. To umožňuje vývojářům soustředit se na psaní kódu, aniž by se museli starat o systém, na který se bude kód spouštět.
Požadavky
- Nainstalovaný WSL, verze 2.9.3 nebo vyšší. Tato verze je aktuálně dostupná jenom jako předběžná verze, takže ji můžete získat spuštěním
wsl --update --pre-release. - Nainstalujte Visual Studio Code(volitelné) To vám poskytne nejlepší prostředí, včetně možnosti kódování a ladění kontejnerizovaných projektů připojených k distribuci Linuxu.
- Nainstalujte terminál Windows(volitelné). Tím získáte co nejlepší prostředí, včetně možnosti přizpůsobení a otevření více terminálů ve stejném rozhraní (včetně Ubuntu, Debianu, PowerShellu, Azure CLI nebo libovolného zařízení, které chcete použít).
Instalace a ověření wslcu
wslc.exe je součástí WSL, takže neexistuje žádný samostatný modul k instalaci. Vyžaduje WSL verze 2.9.3 nebo vyšší. Abyste měli jistotu, že máte verzi WSL, která ji obsahuje:
Nainstalujte WSL , pokud jste to ještě neudělali, a pak aktualizujte na nejnovější předběžnou verzi tak, že otevřete PowerShell a zadáte:
wsl --update --pre-releasePoznámka:
Kontejner WSL je aktuálně k dispozici pouze v předběžných buildech (verze 2.9.3 nebo vyšší), takže
--pre-releasese vyžaduje příznak. Verzi WSL můžete ověřit pomocíwsl --version.Potvrďte, že
wslc.exeje k dispozici, a zkontrolujte jeho verzi zadáním:wslc versionOvěřte, že vše funguje správně, spuštěním jednoduché integrované image. Image se automaticky načítá, pokud ještě není místně k dispozici:
wslc run --rm hello-worldMěla by se zobrazit zpráva "Hello", která potvrzuje, že instalace vypadá správně.
Návod
Zde je několik užitečných wslc příkazů, které byste měli znát:
- Zadáním:
wslcvypište příkazy dostupné vwslc --helpCLI. - Informace pro konkrétní příkaz vypíšete s:
wslc <COMMAND> --help - Vypište obrazy ve vašem počítači pomocí:
wslc image list - Vypište spuštěné kontejnery ve svém počítači příkazem:
wslc container listnebo vypište všechny kontejnery (včetně zastavených) příkazem:wslc container list --all - Zobrazte statistiky využití prostředků pro spuštěné kontejnery pomocí:
wslc stats
Spuštění prvních kontejnerů
Díky wslc.exe tomu můžete načíst image, spouštět kontejnery na popředí nebo na pozadí, publikovat porty a pracovat se spuštěnými kontejnery. Vyzkoušejte několik z těchto příkazů z PowerShellu:
# Run a command in a throwaway container
wslc run --rm -it ubuntu:latest bash -c "echo Hello world from WSL container!"
# Run a web server in the background and publish port 8080 to the container's port 80
wslc run -d --rm -p 8080:80 --name web nginx
# Request content from the running web server
curl localhost:8080
# List the running container
wslc container list
# Run an additional command inside the running container
wslc exec web cat /etc/os-release
# Stop the container
wslc container stop web
Protože byl kontejner nginx spuštěn pomocí --rm, po zastavení se automaticky odebere.
Sestavte a spusťte vlastní bitovou kopii kontejneru
Pokud chcete začít s vývojem wslc.exeaplikací, doporučujeme používat VS Code spolu s rozšířením WSL , abyste mohli upravovat projekt v systému souborů Linux a spouštět wslc příkazy z integrovaného terminálu.
Pojďme vytvořit image kontejneru pro existující projekt aplikace.
V tomto příkladu použijeme zdrojový kód z kurzu Hello World pro Django v dokumentace k nastavení Python vývojového prostředí. Tento krok můžete přeskočit, pokud chcete použít vlastní zdrojový kód projektu. Pokud chcete stáhnout HelloWorld-Django webovou aplikaci z GitHub, otevřete terminál WSL (například Ubuntu) a zadejte:
git clone https://github.com/<username>/helloworld-django.gitPoznámka:
Vždy uložte kód do stejného systému souborů, ve kterém používáte nástroje. Výsledkem bude rychlejší výkon přístupu k souborům. V tomto příkladu používáme distribuci Linuxu (Ubuntu) a chceme ukládat soubory projektu do systému
\\wsl$souborů WSL . Ukládání projektových souborů v systému souborů Windows by při použití linuxových nástrojů ve WSL pro přístup k těmto souborům výrazně zpomalilo.V terminálu WSL změňte adresáře do složky zdrojového kódu pro tento projekt:
cd helloworld-djangoOtevřete projekt v editoru VS Code spuštěném na místním serveru rozšíření WSL zadáním:
code .Zkontrolujte zelený vzdálený indikátor v levém dolním rohu instance VS Code, že jste připojení k distribuci WSL Linux.
ContainerfilePřidejte do kořenového adresáře projektu popis, jak vytvořit image. V příkladu Django může minimálníContainerfilevypadat takto:FROM python:3 WORKDIR /app COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt COPY . . EXPOSE 8000 CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]Ze složky projektu (adresář obsahující váš
Containerfile), sestavte image pomocíwslc buildznačky a označte ji názvem, na který můžete později odkazovat:wslc build -t helloworld-django .Potvrďte, že byl obrázek vytvořen, zobrazením seznamu vašich obrázků:
wslc image listSpusťte nově vytvořenou image jako kontejner a publikujte port aplikace, abyste se k ní dostali z Windows:
wslc run -d --rm -p 8000:8000 --name django helloworld-djangoPokud chcete ověřit, že je kontejner spuštěný, vypíšete spuštěné kontejnery a zkontrolujete jeho protokoly:
wslc container list wslc container logs djangoV systému Windows otevřete prohlížeč a přejděte na
http://localhost:8000/, kde uvidíte aplikaci spuštěnou v jejím kontejneru. Spuštěním příkazu v kontejneru můžete také ověřit, že aplikace běží v Linuxu:wslc exec django unameVýsledek
uname"Linux" potvrzuje, že kontejner běží v jádru WSL 2 Linux.Až budete hotovi, zastavte kontejner:
wslc container stop django
Nyní jste úspěšně vytvořili a spustili kontejner Linuxu na Windows pomocí wslc.exeWSL 2, který můžete sestavit, spustit, nasadit nebo ladit společně s VS Code!
Řešení problémů
Zkontrolujte kontejner nebo obraz
Když se kontejner chová neočekávaně, poskytují příkazy inspect podrobné informace, logs které vám pomůžou s diagnostikou problému:
wslc container inspect <container-id>
wslc container logs <container-id>
wslc image inspect <image>
Uvolnění místa na disku
Image a zastavené kontejnery spotřebovávají místo na disku. Vyčištění prostředků, které už nepoužíváte:
# Remove all stopped containers
wslc container prune
# Remove unused images
wslc image prune
Další nápovědu k obecným problémům s řešením potíží ve WSL najdete v dokumentaci k řešení potíží .
Dodatečné zdroje
Windows Subsystem for Linux