Hier leest u hoe u de beste Docker-ervaring op Windows krijgt.

Het Windows-subsysteem voor Linux 2 is een fenomenale tool op Windows 10 en 11 en integreert naadloos met Docker. Als ontwikkelaars is het essentieel om te begrijpen wat deze software te bieden heeft en hoe u het meeste uit uw Docker-WSL 2-installatie kunt halen.

Wat is Docker?

Docker is een open-sourceplatform waarmee ontwikkelaars hun applicaties efficiënt kunnen bouwen, implementeren en uitvoeren binnen een container. Alle afhankelijkheden zijn gebundeld, zodat uw project eenvoudig in elke omgeving kan worden geïmplementeerd.

Docker is erg populair bij veel containerplatforms omdat het betrouwbaar, functioneel en zeer schaalbaar is. Het draait op de Docker-engine, een essentiële DevOps-tool die een schone en lichtgewicht omgeving biedt voor testen en implementeren. Docker is vergelijkbaar met een virtuele machine, maar virtualiseert het besturingssysteem in plaats van de onderliggende hardware.

Voor softwareontwikkelaars stroomlijnt Docker de workflow door individuele containers te creëren voor verschillende microservices die de nodige afhankelijkheden, bibliotheken en configuraties bevatten. Elke microservicecontainer is geïsoleerd en individueel schaalbaar.

Docker gebruiken op WSL 2

Docker is compatibel met alle belangrijke besturingssystemen, zoals Windows, macOS en Linux. Als u Windows 10 of 11 gebruikt, kunt u Docker gebruiken via Docker Desktop en integreer het met het Windows-subsysteem voor Linux 2 voor betere prestaties. U kunt Docker Desktop voor Windows downloaden van de officiële Docker-website.

Het Windows-subsysteem voor Linux (WSL) is een waardevolle functie waarmee Windows-gebruikers Linux-distributies zoals Ubuntu en Kali kunnen uitvoeren zonder een virtuele machine of dual-boot op te zetten.

Dit betekent ook dat Windows-gebruikers kunnen Linux-opdrachtregelprogramma's rechtstreeks gebruiken, toepassingen en hulpprogramma's zonder extra installatiestappen. De meest recente versie van WSL, WSL 2, biedt meer stabiliteit en een speciale Linux-kernel.

Omdat Docker-containers robuust zijn, kunt u ze zelfs configureren om uw server te hosten; nginx docker-containers worden vaak gebruikt als webservers. Bovendien kunt u Docker op verschillende andere manieren gebruiken:

  • Voer eenvoudig Linux-distributies uit
  • Zet een webserver op voor leer- of testdoeleinden
  • Draagbare implementatie-applicaties
  • Bundel de applicatie in een enkel afbeeldingsbestand
  • Vereenvoudigde CI/CD-pijplijn

U moet vertrouwd raken met de best practices voor het gebruik van Docker met Windows Subsystem voor Linux 2, net zoals u dat met elk ander platform of elke andere tool zou doen. Als ontwikkelaar kan ik uit persoonlijke ervaring zeggen dat u veel productiever en efficiënter zult worden als u de volgende tips in uw workflow integreert.

1. Integreer VS Code met WSL 2

Visual Studio Code is een populaire IDE die geliefd is vanwege de ongelooflijke functies, community en extensies. Als ontwikkelaar de mogelijkheid om Visual Studio Code te gebruiken voor app-ontwikkeling op een Windows-platform ook het uitvoeren van die apps op een Linux-kernel is ongelooflijk voordelig en bijna ongelooflijk functie.

Wanneer u VS Code integreert in het Windows-subsysteem voor Linux, kunt u profiteren van de gespecialiseerde Linux-kernel om platformonafhankelijke compatibiliteit te verbeteren. U kunt uw workflow verder stroomlijnen door gebruik te maken van de geïntegreerde terminal in VS Code met WSL 2.

Naar stel VS Code in met WSL 2 op Windows, kunt u de WSL uitbreiding van de VS Code Marketplace en ga aan de slag.

2. Gebruik het WSL 2-bestandssysteem

Om uw Docker-containers goed te laten werken, is het van vitaal belang dat u vertrouwt op het bestandssysteem van uw WSL 2-distributie en niet sterk afhankelijk bent van het native Windows-bestandssysteem. Tijdens mijn ervaring met het werken met Docker-containers op WSL 2, heb ik ontdekt dat het beter is om uw projectbestanden op te slaan in WSL.

3. Gebruik native Linux-scripts

Veel gecontaineriseerde projecten waaraan u zult werken, zullen waarschijnlijk worden geleverd met scripts voor automatisering op Linux. Meestal worden deze scripts eerst ontwikkeld voor Linux en hebben Windows-ontwikkelaars geen prioriteit.

Met WSL 2 kan uw hele team dezelfde Linux-automatiseringsscripts gebruiken en hoeft u zich geen zorgen te maken over het onderhoud van Windows-compatibele automatiseringsscripts voor uw team.

4. Configureer BuildKit voor verbeterde beveiliging en prestaties

BuildKit is een open-source toolkit die het traditionele Docker-bouwproces verbetert op het gebied van prestaties en beveiliging; het is direct geïntegreerd met Docker, dus u hoeft het niet apart te installeren.

Wanneer u de BouwKit standaard zorgt u ervoor dat uw containers worden gebouwd met de BuildKit-toolkit, waardoor u betere beveiliging, gelijktijdigheid, flexibiliteit en caching krijgt.

Om BuildKit standaard in te schakelen, moet u de volgende wijzigingen aanbrengen in het configuratiebestand ~/.profile:

exporteren DOCKER_BUILDKIT=1.

5. Resourcelimieten instellen

Wanneer u de WSL 2-backend integreert met Docker Desktop, geeft u Docker toegang tot al uw CPU-bronnen. Dit helpt de prestaties te verbeteren voor containers die veel resources gebruiken.

In sommige gevallen kan een container echter veel overtollig geheugen toewijzen, waardoor kritieke OS-processen vastlopen. De kans dat u dit ervaart, is groter bij het gebruik van databasecontainers of een caching-microservice.

Gelukkig kunt u Docker-containers configureren om het systeemgeheugen en CPU-gebruik te beperken. U moet altijd voorzichtig zijn bij het configureren van het systeemgeheugen, zelfs een kleine fout kan grote gevolgen hebben. U kunt verwijzen naar de officiële Docker-documentatie voor een meer gedetailleerde handleiding over het beperken van het geheugen en de CPU-bronnen die worden gebruikt door een Docker-container.

6. Herstel cachegeheugen

Als u een Docker-container uitvoert in WSL 2, moet het geheugen worden vrijgegeven zodra de container wordt beëindigd. Helaas heeft de kernel van het besturingssysteem de neiging om gegevens in de cache te bewaren; dit betekent dat het effectieve geheugen dat door de WSL 2 wordt teruggewonnen niet voldoende zal zijn.

U kunt al het geheugen dat onnodig als cache wordt gebruikt, herstellen door de volgende opdracht via root uit te voeren in WSL 2:

echo 1 > /proc/sys/vm/drop_caches

Word slimmer met WSL 2

De WSL 2 is de beste functie voor op Windows gebaseerde ontwikkelaars en verandert de manier waarop ontwikkelaars Docker gebruiken volledig. Ontwikkelaars moeten de best practices begrijpen voor het gebruik van Docker met WSL om de prestaties, beveiliging en workflowflexibiliteit te verbeteren.