VS Codeのエージェントモードを拡張するには、を試してください!

Docker をインストールする別の方法

Dev Containers 拡張機能と Docker を連携させる方法はいくつかあります

  • ローカルにDockerがインストールされている場合。
  • 別のマシンまたはリモート環境に Docker をインストールする
    • Docker はローカルではなく、リモートホストにのみインストールすれば大丈夫です。
  • ローカルまたはリモート環境に他の Docker 準拠 CLI をインストールする
    • 例えば、Rancher Desktop は、Windows、macOS、Linux でコンテナ管理と Kubernetes を提供する、Docker をインストールするもう一つの方法です。
      • Rancher Desktop は Moby を介して Docker CLI をサポートしているため、Dev Containers 拡張機能と連携して使用できます。Rancher Desktop のガイドで、Rancher Desktop の使い始める方法について学ぶことができます。
    • Dev Containers は CLI と対話します。コンテナエンジンの動作方法について仮定せず、コンテナエンジンやデーモンと直接対話することはありません。
    • なお、その他の Docker 準拠 CLI は正式にサポートされていません。

Docker または Docker 準拠 CLI をインストールして使用する別の方法について、読み進めてください。

Windows: Windows Subsystem for Linux (WSL)

Windows では、WSL 拡張機能を通じて WSL にインストールされた Docker を使用できます。Linux への Docker インストールについては、Docker ドキュメントを参照でき、ディストリビューションごとの具体的な情報も確認できます。

1つの問題は、`systemd`や他のシステムデーモンがないため、`dockerd`デーモンが自動的に起動しないことです。WSL バージョン 0.67.6 以降 (`wsl --version`) では、`systemd`のサポートを有効にできます。古い WSL バージョンでは、Distrod を使用して、既存の WSL ディストリビューションを `systemd` で作成または更新できます。

macOS: Colima

Colima は macOS でコンテナランタイムを提供します。VS Code が Colima を通じて実行中のコンテナを適切に認識できるように、Colima v0.2.2 以降を使用することをお勧めします。

Colima は自動的に `colima` Docker コンテキストを設定し、それをアクティブなコンテキストにします。この設定が正しく機能するように、`colima start` を実行する前に `docker` および `docker-compose` CLI もインストールすることをお勧めします。

注意: Colima は Alpine Linux を使用しており、これは Remote - SSH でサポートされていません。

Podman

Podman バージョン 5 以降は、Docker の CLI コマンドとほぼ互換性があります。Podman を使用するには、Linux、Windows、または macOS で Docker Path (dev.containers.dockerPath) 設定を `podman` に更新してください。

Docker Path setting

Podman にも `podman compose` コマンドがありますが、これは Docker Compose または Podman Compose のいずれかの compose プロバイダーを必要とします。

Linux

ローカルマシンで Linux を使用している場合、または SSH アクセスを持つリモートの Linux マシンを既に持っている場合は、Linux への Docker のインストールについてDocker ドキュメントを参照でき、ディストリビューションごとの具体的な情報も確認できます。

Cloud-Init VM

Remote - SSH 拡張機能を Dev Containers と併用できます。これにより、Linux VM など、リモートマシンに Docker をインストールできるようになります。

業界標準である Cloud-Init ファイルを使用して、VM に Docker を自動的にインストールできます。例として、Azure CLI を介して Azure VM を作成し、作成時に `cloud-init.txt` を使用するように設定できます。

`cloud-init.txt` ファイル

#cloud-config

apt:
  sources:
    docker.list:
      source: deb [arch=amd64] https://download.docker.com/linux/ubuntu $RELEASE stable
      keyid: 9DC858229FC7DD38854AE2D88D81803C0EBFCD88

packages:
  - docker-ce
  - docker-ce-cli

groups:
  - docker

system_info:
  default_user:
    groups: [docker]

Azure CLI コマンドの例を以下に示します。`` をお近くのデータセンター(例: `eastus`、`westeurope`)に必ず更新してください。

az login

az group create --name dev-server --location <location-here>

az vm create \
  --resource-group dev-server \
  --name dev-server \
  --image Canonical:0001-com-ubuntu-server-impish:21_10-gen2:latest \
  --custom-data cloud-init.txt \
  --generate-ssh-keys

Remote - SSH と Dev Containers の連携については、リモート Docker ホストでの開発ドキュメントで詳しく学ぶことができます。

他のコンテナエンジン

vscode-remote-release リポジトリを通じて、他のコンテナエンジンのサポートリクエストをオープンしたり、確認したりできます。すでにいくつか機能リクエストがありますので、ぜひご確認ください。