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-repository, waar u deze verder kunt verkennen. De afbeeldingen in deze opslagplaats zijn allemaal vooraf gebouwde afbeeldingen, die uw werkstroom versnellen en resulteren in een eenvoudigere 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 onze documentatie voor ontwikkelaarscontainers.
Functies
Functies voor ontwikkelingscontainers 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 gebruikt: Dev Container Configuration Files toevoegen, ziet u een lijst met scripts voor het aanpassen van de bestaande dev-containerconfiguraties, 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 de basisafbeelding mcr.microsoft.com/devcontainers/python:0-3.11. Ze geven de gebruiker een verbeterde bewerkingservaring voor Python.
- U kunt de
extensionsmatrix in de eigenschapcustomizations.vscodegebruiken 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.