Project- en editor-instellingen 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 nog niet kennen.
Gelukkig kunt u alle projectinstellingen volledig aanpassen en automatiseren met het bestand devcontainer.json.
Devcontainer.json nader bekijken
Laten we eens kijken naar de belangrijkste opties in het .devcontainer/devcontainer.json
bestand vanuit het project Productdashboard. Het duurt wat lang om alles tegelijk te bekijken, dus we delen het op in gedeelten.
Configuratie compileren
De image
eigenschap definieert hoe de container wordt gemaakt, op basis van wat een containerinstallatiekopieën wordt genoemd.
"image": "mcr.microsoft.com/devcontainers/python:0-3.11"
},
Deze installatiekopie wordt gehost in de opslagplaats devcontainers/images, waar u deze verder kunt bekijken. De installatiekopieën in deze opslagplaats zijn allemaal vooraf gebouwde installatiekopieën, 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 toestaan 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 van het idee dat u snel en eenvoudig meer hulpprogramma's, runtime of bibliotheek 'Functies' kunt toevoegen aan uw ontwikkelcontainer voor gebruik door u of uw medewerkers.
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 instellen vscode.settings
dat u computerspecifieke instellingen naar de container kopieert. U hebt deze instellingen mogelijk in uw eigen Visual Studio Code-instelling. Door ze toe te voegen aan het settings
project, zorgt u ervoor dat iedereen die dit project opent, deze specifieke VS Code-instellingen krijgt.
In deze Python-container ziet u deze instellingen in de basisinstallatiekopieën mcr.microsoft.com/devcontainers/python:0-3.11
. Ze geven de gebruiker een verbeterde bewerkingservaring voor Python.
- U kunt de
extensions
matrix in decustomizations.vscode
eigenschap 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 postCreateCommand
de eigenschap kunt u opdrachten uitvoeren die u wilt nadat de container is gemaakt. Zoals u zich nog herinnert van de eerste oefening, moest u de opdracht pip3
uitvoeren om afhankelijkheden te installeren. Maar hoe zou u dat nou moeten weten? Mogelijk weet u het 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 bestand devcontainer.json om verschillende aspecten van het project te automatiseren. Hiermee kunnen andere ontwikkelaars direct probleemloos aan de slag.