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

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

Dockerは、Dev Containers拡張機能を使っていくつかの方法で使用できます。

  • ローカルにDockerがインストールされている場合。
  • 他のマシンまたはリモート環境にインストールされたDocker。
    • Dockerはローカルにインストールされている必要はなく、リモートホストにインストールされていれば十分です。
  • その他のDocker互換CLI (ローカルまたはリモート環境にインストールされているもの)。
    • 例えば、Rancher DesktopはDockerをインストールする別の方法であり、Windows、macOS、およびLinux上でコンテナ管理とKubernetesを提供します。
      • Rancher DesktopはMobyを介してDocker CLIをサポートしているため、Dev Containers拡張機能で使用できます。開始方法については、Rancher Desktopのガイドを参照してください。
    • Dev ContainersはCLIとやり取りします。コンテナエンジンの動作方法について仮定せず、コンテナエンジンやデーモンと直接やり取りすることはありません。
    • なお、その他のDocker互換CLIは公式にはサポートされていません。

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

Windows: Windows Subsystem for Linux (WSL)

Windowsでは、WSL拡張機能を介してWSLにインストールされたDockerを使用できます。DockerをLinuxにインストールする方法については、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を実行する前にdockerdocker-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のいずれかであるコンポーズプロバイダーが必要です。

Linux

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

Cloud-Init VM

Dev ContainersでRemote - SSH拡張機能を使用できます。これにより、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コマンドの例を次に示します。<location-here>を最寄りのデータセンター (例: 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

Dev ContainersでRemote - SSHを使用する方法の詳細については、リモートDockerホストでの開発ドキュメントを参照してください。

その他のコンテナエンジン

その他のコンテナエンジンのサポートリクエストは、vscode-remote-releaseリポジトリから開くか確認できます。すでにいくつかの機能リクエストがあります。