Tilpasse innstillinger for prosjekt og redigeringsprogram
Du har konfigurert en utviklerbeholder for et av byråets prosjekter. Det vil nå "bare fungere" for alle som har Docker og Dev Containers forlengelse. De må fortsatt installere avhengigheter. De trenger kanskje også noen Visual Studio Code-utvidelser som de ikke vet om.
Heldigvis kan du tilpasse og automatisere hele prosjektoppsettet ved hjelp av den devcontainer.json filen.
En nærmere titt på devcontainer.json
La oss se på de viktigste alternativene i .devcontainer/devcontainer.json-filen fra prosjektet Instrumentbord for produkter. Det er litt langt å se på alt samtidig, så la oss se på det i inndelinger.
Kompileringskonfigurasjon
Egenskapen image definerer hvordan beholderen skal opprettes, basert på det som kalles en beholder bilde.
"image": "mcr.microsoft.com/devcontainers/python:0-3.11"
},
Dette bildet driftes i devcontainers/images repo, der du kan sjekke det ut videre. Bildene i denne repo er alle forhåndsbygde bilder, som øker hastigheten på arbeidsflyten og resulterer i en enklere .devcontainer/devcontainer.json konfigurasjon.
Du kan også bruke filer som kalles Dockerfile eller En Docker Compose-fil til å konfigurere installasjonen. Disse filene kan finnes i .devcontainer-mappen og gi deg mulighet til å konfigurere visse installasjonskrav ytterligere, for eksempel å installere tilleggsprogramvare. Du kan finne ut mer i dokumentasjonen for utvikling av beholdere.
Funksjoner
Development container Funksjoner er selvstendige, delbare enheter av installasjonskode og utvikling beholderkonfigurasjon. Navnet kommer fra ideen om at det å referere til en av dem gjør at du raskt og enkelt kan legge til flere verktøy, kjøretid eller bibliotekfunksjoner i utviklingsbeholderen for bruk av deg eller samarbeidspartnerne dine.
Når du bruker VS Code-kommandoen Dev Containers: Add Dev Container Configuration Files, presenteres en liste over skript for å tilpasse eksisterende konfigurasjoner av utviklerbeholdere, for eksempel installasjon av Git eller Azure CLI.
Prosjektinnstillinger
En senere del av filen handler direkte om prosjektkonfigurasjon.
customizations angir produktspesifikke egenskaper for produkter som støtter utviklerbeholdere, for eksempel VS Code og GitHub Codespaces.
Som et eksempel kan du angi vscode.settings til å kopiere maskinspesifikke innstillinger til beholderen. Du kan ha disse innstillingene i ditt eget konfigurasjon av Visual Studio Code. Ved å legge dem til i settingssikrer du at alle som åpner dette prosjektet får disse spesifikke VS Code-innstillingene.
I denne Python-beholderen kan du se disse innstillingene i basisbildet mcr.microsoft.com/devcontainers/python:0-3.11. De gir brukeren en forbedret Python-redigeringsopplevelse.
- Du kan bruke
extensionsmatrisen icustomizations.vscode-egenskapen til å angi hvilke Visual Studio Code-utvidelser som skal installeres i Visual Studio Code når den kobles til beholderen. Det vanlige visual studiokodeoppsettet og alle utvidelsene du allerede har, vil ikke være til stede når du bruker Utviklerbeholdere. Utvidelser angis her med ID-ene.
postCreateCommand
Med egenskapen postCreateCommand kan du kjøre kommandoene du vil ha etter at beholderen er opprettet. Hvis du husker fra den første øvelsen, måtte du kjøre kommandoen pip3 for å installere avhengigheter. Men hvordan ville du vite å gjøre det? Det kan hende du ikke gjør det. Du kan konfigurere det her slik at det skjer automatisk, og andre slipper å bekymre seg for det.
I neste øvelse endrer du devcontainer.json filen for å automatisere flere aspekter av prosjektet som konfigurerer andre utviklere for umiddelbar suksess.