Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 56 additions & 0 deletions .codex/devcontainer-recommendations.md
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,62 @@ OPENAI_API_KEY=*** # o3 MCP用
- 利用率: 87.5% (7/8)
- 用途: コンテナビルド、Docker Compose実行

**主要機能**:

- DevContainer内から`docker`コマンドを実行可能
- Docker Composeワークフローのテスト
- コンテナイメージのビルドとテスト
- マルチコンテナアプリケーションのデバッグ

**主なユースケース**:

1. **コンテナ化アプリのテスト**: Docker Composeで完全なスタックをテスト
2. **CI/CD開発**: GitHub Actionsを`act`でローカルテスト
3. **イメージビルド**: カスタムDockerイメージをローカルビルド
4. **マルチコンテナデバッグ**: コンテナに依存するサービスのデバッグ

**使用を推奨する場合**:

- ✅ Dockerイメージをビルドするプロジェクト
- ✅ Docker Composeを使用するプロジェクト
- ✅ GitHub Actionsワークフローをローカルでテストしたい
- ✅ コンテナベースのE2Eテストを実行する

**使用を避けるべき場合**:

- ❌ Dockerを全く使わないプロジェクト
- ❌ パフォーマンスが最重要(ネイティブDockerより遅い)
- ❌ セキュリティ要件が厳しい環境(特権コンテナモードが必要)
- ❌ リソースが限られた環境(追加のメモリ/CPU使用)

**セキュリティ考慮事項**:

- ⚠️ 特権コンテナモードが必要(`--privileged`)
- ⚠️ ホストのDockerデーモンへのアクセス権限
- ⚠️ 本番環境での使用は推奨しない

**パフォーマンス考慮事項**:

- ネイティブDockerと比較して若干のオーバーヘッド
- 追加のメモリとCPUリソースを消費
- I/O操作が多い場合は特に影響が大きい

**代替アプローチ**:

ホストのDockerソケットをマウントする方法(より軽量だがセキュリティリスクあり):

```json
{
"mounts": ["source=/var/run/docker.sock,target=/var/run/docker.sock,type=bind"]
}
```

**推奨設定**:

- Docker Compose v2を使用(`dockerDashComposeVersion: "v2"`)
- Mobyを有効化(`moby: true`)
- VS Code + GitHub Codespacesの両方で動作

### 3. Git

```json
Expand Down
Loading