Project- en editorinstellingen aanpassen
U hebt een dev-container ingesteld voor een van de projecten van uw organisatie. Het werkt nu alleen voor iedereen die Docker en de Dev Containers-extensie heeft. Ze moeten nog steeds afhankelijkheden installeren. Ze hebben mogelijk ook enkele Visual Studio Code-extensies nodig die ze niet kennen.
Gelukkig kunt u alle projectinstellingen volledig aanpassen en automatiseren met behulp van het devcontainer.json-bestand.
Een nader inzicht in devcontainer.json
Laten we eens kijken naar de belangrijkste opties in het bestand .devcontainer/devcontainer.json
van het project Productendashboard. Het is een beetje lang om alles tegelijk te bekijken, dus laten we het in secties bekijken.
Buildconfiguratie
De eigenschap image
definieert hoe de container wordt gemaakt op basis van wat een containerimage wordt genoemd.
"image": "mcr.microsoft.com/devcontainers/python:0-3.11"
},
Deze afbeelding wordt gehost in de devcontainers/images-opslagplaats, waarin u deze verder kunt uitproberen. De afbeeldingen in deze opslagplaats zijn allemaal vooraf samengestelde afbeeldingen, die uw werkstroom versnellen en resulteren in een eenvoudigere .devcontainer/devcontainer.json
configuratie.
U kunt ook bestanden gebruiken die bekend zijn als een Dockerfile of een Docker Compose-bestand om uw installatie te configureren. Deze bestanden kunnen zich in uw .devcontainer
map bevinden en u in staat stellen om bepaalde installatievereisten verder te configureren, zoals het installeren van extra software. Meer informatie vindt u in de documentatie dev-container.
Functies
Ontwikkelingscontainer Features zijn zelfstandige, deelbare eenheden van installatiecode en configuratie van dev-containers. De naam komt voort uit het idee dat het verwijzen naar een van hen u in staat stelt snel en eenvoudig meer tools, runtime, of bibliotheekfuncties toe te voegen aan uw ontwikkelcontainer voor gebruik door uzelf of uw samenwerkers.
Wanneer u de VS Code-opdracht Dev Containers: Dev Container Configuration Files toevoegengebruikt, ziet u een lijst met scripts voor het aanpassen van de bestaande configuraties van dev containers, zoals het installeren van Git of de Azure CLI.
Projectinstellingen
Een latere sectie van het bestand behandelt rechtstreeks de projectconfiguratie.
customizations
stelt productspecifieke eigenschappen in voor producten die ondersteuning bieden voor dev-containers, zoals VS Code en GitHub Codespaces.
U kunt bijvoorbeeld vscode.settings
instellen om machinespecifieke instellingen naar de container te kopiëren. Mogelijk hebt u deze instellingen in uw eigen Visual Studio Code-installatie. Door ze toe te voegen aan de settings
, zorgt u ervoor dat iedereen die dit project opent, deze specifieke VS Code-instellingen krijgt.
In deze Python-container kunt u deze instellingen zien in zijn basisafbeelding mcr.microsoft.com/devcontainers/python:0-3.11
. Ze geven de gebruiker een verbeterde bewerkingservaring voor Python.
- U kunt de
extensions
matrix in de eigenschapcustomizations.vscode
gebruiken om op te geven welke Visual Studio Code-extensies moeten worden geïnstalleerd in Visual Studio Code wanneer deze verbinding maakt met de container. De normale installatie van Visual Studio Code en alle extensies die u al hebt, zijn niet aanwezig wanneer u Dev Containers gebruikt. Extensies worden hier opgegeven met hun id's.
postCreateCommand
Met de eigenschap postCreateCommand
kunt u opdrachten uitvoeren die u wilt uitvoeren nadat de container is gemaakt. Als u zich herinnert uit de eerste oefening, moest u de opdracht pip3
uitvoeren om afhankelijkheden te installeren. Maar hoe zou je dat weten? Misschien niet. U kunt deze hier zo configureren dat dit automatisch gebeurt en anderen zich geen zorgen hoeven te maken.
In de volgende oefening wijzigt u het devcontainer.json-bestand om verschillende aspecten van het project te automatiseren waarmee andere ontwikkelaars onmiddellijk succes kunnen krijgen.