Docker の代替インストール方法
Dev Containers 拡張機能を使用すると、いくつかの方法で Docker を使用できます。
- ローカルにインストールされた Docker。
- 別のマシンまたはリモート環境にインストールされた Docker。
- Docker をローカルにインストールするのではなく、リモートホストにのみインストールする必要があります。
- その他の Docker 準拠 CLI (ローカルまたはリモート環境にインストール)。
- たとえば、Rancher Desktop は、Windows、macOS、および Linux でコンテナ管理と Kubernetes を提供する、Docker の別のインストール方法です。
- 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 を使用して、systemd
を備えた既存の WSL ディストリビューションを作成または更新できます。
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 マシンが既にある場合は、Linux への Docker のインストールについて、Docker ドキュメントを参照してください。ディストリビューションごとの具体的な情報も含まれています。
Cloud-Init VM
Remote - SSH 拡張機能を Dev Containers と共に使用できます。これにより、Linux VM などのリモートマシンに Docker をインストールできます。
VM に Docker を自動的にインストールするために、Cloud-Init ファイル (業界標準) を使用できます。例として、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
Remote - SSH と Dev Containers の使用に関する詳細については、リモート Docker ホストでの開発に関するドキュメントを参照してください。
その他のコンテナエンジン
その他のコンテナエンジンのサポートに関するリクエストは、vscode-remote-release リポジトリを通じてオープンまたはレビューできます。既にいくつかの機能リクエストがあり、調べることができます。