Dockerをインストールする別の方法
Dockerは、Dev Containers拡張機能を使っていくつかの方法で使用できます。
- ローカルにDockerがインストールされている場合。
- 他のマシンまたはリモート環境にインストールされたDocker。
- Dockerはローカルにインストールされている必要はなく、リモートホストにインストールされていれば十分です。
- その他のDocker互換CLI (ローカルまたはリモート環境にインストールされているもの)。
- 例えば、Rancher DesktopはDockerをインストールする別の方法であり、Windows、macOS、およびLinux上でコンテナ管理とKubernetesを提供します。
- 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
を実行する前にdocker
とdocker-compose
のCLIもインストールしておくことをお勧めします。
注: ColimaはAlpine Linuxを使用しており、Remote - SSHではサポートされていません。
Podman
Podmanバージョン5以降は、DockerのCLIコマンドとほとんど互換性があります。Podmanを使用するには、Linux、Windows、またはmacOSでDocker Path (dev.containers.dockerPath) 設定をpodman
に更新します。
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リポジトリから開くか確認できます。すでにいくつかの機能リクエストがあります。