安裝 Docker 的替代方法
您可以通過幾種方式使用 Dev Containers 擴充套件與 Docker 配合使用:
- 本地安裝 Docker。
- Docker 安裝在另一臺機器或遠端環境中。
- 您只需在遠端主機上安裝 Docker,而無需在本地安裝 Docker。
- 其他符合 Docker 規範的 CLI,安裝在本地或遠端環境中。
- 例如,Rancher Desktop 是另一種安裝 Docker 的方式,它為 Windows、macOS 和 Linux 提供容器管理和 Kubernetes。
- Dev Containers 與 CLI 互動;它不對容器引擎的工作方式做任何假設,也不直接與容器引擎或守護程序互動。
- 請注意,其他符合 Docker 規範的 CLI 不被官方支援。
繼續閱讀以瞭解安裝和使用 Docker 或符合 Docker 規範的 CLI 的替代方法。
Windows:適用於 Linux 的 Windows 子系統 (WSL)
在 Windows 上,您可以透過 WSL 擴充套件使用安裝在 WSL 中的 Docker。您可以參考 Docker 文件來安裝 Linux 上的 Docker,其中包含針對不同發行版的具體資訊。
一個問題是由於缺少 systemd 或任何其他系統守護程序,dockerd 守護程序不會自動啟動。在 WSL 版本 0.67.6 及更高版本(wsl --version)中,您可以啟用對 systemd 的支援。對於較舊的 WSL 版本,您可以使用 Distrod 來建立或更新現有的帶有 systemd 的 WSL 發行版。
macOS:Colima
Colima 在 macOS 上提供容器執行時。建議使用 Colima v0.2.2 或更高版本,以便 VS Code 能夠正確檢視透過 Colima 執行的容器。
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 命令,但這需要一個 compose 提供程式,可以是 Docker Compose 或 Podman Compose。
Linux
如果您在本地機器上使用 Linux,或者已經有一個具有 SSH 訪問許可權的遠端 Linux 機器,您可以參考 Docker 文件來安裝 Linux 上的 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 命令的示例。請務必將 <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
您可以在在遠端 Docker 主機上開發文件中瞭解有關將 Remote - SSH 與 Dev Containers 結合使用的更多資訊。
其他容器引擎
您可以透過 vscode-remote-release 儲存庫開啟或檢視對其他容器引擎支援的請求。您已經可以探索幾個功能請求