このリファレンスでは、 Docker Compose YAML 構文から同等の C# API 呼び出し Aspire 体系的なマッピングを提供します。 既存の Docker Compose ファイルをアプリケーション ホスト構成 Aspire 変換する場合は、これらのテーブルをクイック リファレンスとして使用します。 各セクションでは、基本的なサービス定義から高度なネットワークとリソース管理まで、コンテナー オーケストレーションの特定の側面について説明します。
サービス定義
| Docker 綴る | Aspire | 注記 |
|---|---|---|
services: |
var builder = DistributedApplication.CreateBuilder(args) |
リソースの追加と表現に使用されるルート アプリケーション ビルダー。 |
service_name: |
builder.Add*("service_name") |
サービス名がリソース名になります。 |
関連リンク:
イメージとビルド
| Docker 綴る | Aspire | 注記 |
|---|---|---|
image: nginx:latest |
builder.AddContainer("name", "nginx:latest") |
直接イメージ参照。 |
build: . |
builder.AddDockerfile("name", ".") |
Dockerfileからビルドします。 |
build: ./path |
builder.AddDockerfile("name", "./path") |
特定のパスからビルドします。 |
build.context: ./app |
builder.AddDockerfile("name", "./app") |
ビルド コンテキスト。 |
build.dockerfile: Custom.dockerfile |
builder.Add*("name").WithDockerfile("Custom.dockerfile") |
カスタム Dockerfile 名。 |
関連リンク:
.NET プロジェクト
| Docker 綴る | Aspire | 注記 |
|---|---|---|
build: ./MyApi ( .NETの場合) |
builder.AddProject<Projects.MyApi>("myapi") |
プロジェクト参照 .NET 直接。 |
関連リンク:
ポート マッピング
| Docker 綴る | Aspire | 注記 |
|---|---|---|
ports: ["8080:80"] |
.WithHttpEndpoint(port: 8080, targetPort: 80) |
HTTP エンドポイント マッピング。 ポートは省略可能です。動的ポートは省略された場合に使用されます。 |
ports: ["443:443"] |
.WithHttpsEndpoint(port: 443, targetPort: 443) |
HTTPS エンドポイント マッピング。 ポートは省略可能です。動的ポートは省略された場合に使用されます。 |
expose: ["8080"] |
.WithEndpoint(port: 8080) |
内部ポート露出。 ポートは省略可能です。動的ポートは省略された場合に使用されます。 |
関連リンク:
環境変数
| Docker 綴る | Aspire | 注記 |
|---|---|---|
environment: KEY=value |
.WithEnvironment("KEY", "value") |
静的環境変数。 |
environment: KEY=${HOST_VAR} |
.WithEnvironment(context => context.EnvironmentVariables["KEY"] = hostVar) |
コールバック コンテキストを持つ環境変数。 |
env_file: .env |
サポートされていません | 環境ファイル (カスタム実装)。 |
関連リンク:
ボリュームとストレージ
| Docker 綴る | Aspire | 注記 |
|---|---|---|
volumes: ["data:/app/data"] |
.WithVolume("data", "/app/data") |
名前付きボリューム。 |
volumes: ["./host:/container"] |
.WithBindMount("./host", "/container") |
バインド マウント。 |
volumes: ["./config:/app:ro"] |
.WithBindMount("./config", "/app", isReadOnly: true) |
読み取り専用バインド マウント。 |
関連リンク:
依存関係と順序付け
| Docker 綴る | Aspire | 注記 |
|---|---|---|
depends_on: [db] |
.WithReference(db) |
接続を使用したサービスの依存関係。 |
depends_on: db: condition: service_started |
.WaitFor(db) |
サービスの開始を待ちます。 |
depends_on: db: condition: service_healthy |
.WaitForCompletion(db) |
正常性チェックを待ちます。 |
関連リンク:
Networks
| Docker 綴る | Aspire | 注記 |
|---|---|---|
networks: [backend] |
自動 | Aspire はネットワークを自動的に処理します。 |
| カスタム ネットワーク | 不要 | サービス検出は、サービス間通信を処理します。 |
関連リンク:
リソースの制限
| Docker 綴る | Aspire | 注記 |
|---|---|---|
deploy.resources.limits.memory: 512m |
サポートされていません | リソース制限は、 Aspireではサポートされていません。 |
deploy.resources.limits.cpus: 0.5 |
サポートされていません | リソース制限は、 Aspireではサポートされていません。 |
関連リンク:
健康診断
| Docker 綴る | Aspire | 注記 |
|---|---|---|
healthcheck.test: ["CMD", "curl", "http://localhost/health"] |
統合用の組み込み。 | Aspire 統合には正常性チェックが含まれます。 |
healthcheck.interval: 30s |
統合で構成可能。 | 正常性チェックの構成は、リソースの種類によって異なります。 |
関連リンク:
再起動ポリシー
| Docker 綴る | Aspire | 注記 |
|---|---|---|
restart: unless-stopped |
サポートされていません | 再起動ポリシーは、 Aspireではサポートされていません。 |
restart: always |
サポートされていません | 再起動ポリシーは、 Aspireではサポートされていません。 |
restart: no |
既定値 | 再起動ポリシーはありません。 |
関連リンク:
ロギング(記録)
| Docker 綴る | Aspire | 注記 |
|---|---|---|
logging.driver: json-file |
組み込み | Aspire では、統合ログが提供されます。 |
logging.options.max-size: 10m |
ダッシュボードの構成 | Aspireダッシュボードを使用して管理します。 |
関連リンク:
データベース サービス
| Docker 綴る | Aspire | 注記 |
|---|---|---|
image: postgres:15 |
builder.AddPostgres("name") |
PostgreSQL 自動構成を使用します。 |
image: mysql:8 |
builder.AddMySql("name") |
MySQL 自動構成を使用します。 |
image: redis:7 |
builder.AddRedis("name") |
Redis 自動構成を使用します。 |
image: mongo:latest |
builder.AddMongoDB("name") |
MongoDB 自動構成を使用します。 |
関連リンク:
こちらも参照ください
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
Aspire