🚀 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 のガイドで開始方法を学ぶことができます。
    • 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 に更新します。

Docker Path setting

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> を最寄りのデータセンター (例: eastuswesteurope) に更新してください。

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 リポジトリを通じてオープンまたはレビューできます。既にいくつかの機能リクエストがあり、調べることができます。