Dela via


Docker Skriv till Aspire AppHost API-referens

Den här referensen innehåller systematiska mappningar från Docker Compose YAML-syntax till motsvarande Aspire C#API-anrop. Använd dessa tabeller som en snabbreferens när du konverterar befintliga Docker Compose-filer till Aspire programvärdkonfigurationer. Varje avsnitt beskriver en specifik aspekt av containerorkestrering, från grundläggande tjänstdefinitioner till avancerade nätverk och resurshantering.

Tjänstdefinitioner

Docker Komponera Aspire Noteringar
services: var builder = DistributedApplication.CreateBuilder(args) Rotprogramskapare som används för att lägga till och representera resurser.
service_name: builder.Add*("service_name") Tjänstnamn blir resursnamn.

Relaterade länkar:

Avbildningar och versioner

Docker Komponera Aspire Noteringar
image: nginx:latest builder.AddContainer("name", "nginx:latest") Referens för direkt bild.
build: . builder.AddDockerfile("name", ".") Skapa från Dockerfile.
build: ./path builder.AddDockerfile("name", "./path") Skapa från en specifik sökväg.
build.context: ./app builder.AddDockerfile("name", "./app") Skapa kontext.
build.dockerfile: Custom.dockerfile builder.Add*("name").WithDockerfile("Custom.dockerfile") Anpassat Dockerfile namn.

Relaterade länkar:

.NET projekt

Docker Komponera Aspire Noteringar
build: ./MyApi (för .NET) builder.AddProject<Projects.MyApi>("myapi") Referens för direktprojekt .NET .

Relaterade länkar:

Portmappningar

Docker Komponera Aspire Noteringar
ports: ["8080:80"] .WithHttpEndpoint(port: 8080, targetPort: 80) HTTP-slutpunktsmappning. Portar är valfria. dynamiska portar används om de utelämnas.
ports: ["443:443"] .WithHttpsEndpoint(port: 443, targetPort: 443) HTTPS-slutpunktsmappning. Portar är valfria. dynamiska portar används om de utelämnas.
expose: ["8080"] .WithEndpoint(port: 8080) Intern portexponering. Portar är valfria. dynamiska portar används om de utelämnas.

Relaterade länkar:

Miljövariabler

Docker Komponera Aspire Noteringar
environment: KEY=value .WithEnvironment("KEY", "value") Variabel för statisk miljö.
environment: KEY=${HOST_VAR} .WithEnvironment(context => context.EnvironmentVariables["KEY"] = hostVar) Miljövariabel med motringningskontext.
env_file: .env Stöds inte Miljöfil (anpassad implementering).

Relaterade länkar:

Volymer och lagring

Docker Komponera Aspire Noteringar
volumes: ["data:/app/data"] .WithVolume("data", "/app/data") Namngiven volym.
volumes: ["./host:/container"] .WithBindMount("./host", "/container") Bind montering.
volumes: ["./config:/app:ro"] .WithBindMount("./config", "/app", isReadOnly: true) Skrivskyddad bindningsmontering.

Relaterade länkar:

Beroenden och ordning

Docker Komponera Aspire Noteringar
depends_on: [db] .WithReference(db) Tjänstberoende med anslutning.
depends_on: db: condition: service_started .WaitFor(db) Vänta tills tjänsten har startats.
depends_on: db: condition: service_healthy .WaitForCompletion(db) Vänta på hälsokontroll.

Relaterade länkar:

Nätverk

Docker Komponera Aspire Noteringar
networks: [backend] Automatiskt Aspire hanterar nätverk automatiskt.
Anpassade nätverk Behövs inte Tjänstidentifiering hanterar kommunikation mellan tjänster.

Relaterade länkar:

Resursbegränsningar

Docker Komponera Aspire Noteringar
deploy.resources.limits.memory: 512m Stöds inte Resursbegränsningar stöds inte i Aspire.
deploy.resources.limits.cpus: 0.5 Stöds inte Resursbegränsningar stöds inte i Aspire.

Relaterade länkar:

Hälsokontroller

Docker Komponera Aspire Noteringar
healthcheck.test: ["CMD", "curl", "http://localhost/health"] Inbyggt för integreringar. Aspire integreringar omfattar hälsokontroller.
healthcheck.interval: 30s Kan konfigureras i integrering. Konfigurationen av hälsokontroll varierar beroende på resurstyp.

Relaterade länkar:

Starta om principer

Docker Komponera Aspire Noteringar
restart: unless-stopped Stöds inte Omstartsprinciper stöds inte i Aspire.
restart: always Stöds inte Omstartsprinciper stöds inte i Aspire.
restart: no Förinställning Ingen omstartsprincip.

Relaterade länkar:

Loggning / Skogsavverkning

Docker Komponera Aspire Noteringar
logging.driver: json-file Inbyggd Aspire tillhandahåller integrerad loggning.
logging.options.max-size: 10m Konfiguration av instrumentpanel Hanteras via Aspire instrumentpanelen.

Relaterade länkar:

Databastjänster

Docker Komponera Aspire Noteringar
image: postgres:15 builder.AddPostgres("name") PostgreSQL med automatisk konfiguration.
image: mysql:8 builder.AddMySql("name") MySQL med automatisk konfiguration.
image: redis:7 builder.AddRedis("name") Redis med automatisk konfiguration.
image: mongo:latest builder.AddMongoDB("name") MongoDB med automatisk konfiguration.

Relaterade länkar:

Se även