安裝 Docker 的替代方法
你可以透過以下幾種方式將 Docker 與 開發容器 擴充套件一起使用:
- 本地安裝 Docker。
- Docker 安裝在另一臺機器或遠端環境中。
- 你只需要在遠端主機上安裝 Docker,而不是在本地安裝 Docker。
- 其他相容 Docker 的 CLI,安裝在本地或遠端環境中。
- 例如,Rancher Desktop 是另一種安裝 Docker 的方式,它在 Windows、macOS 和 Linux 上提供容器管理和 Kubernetes。
- 開發容器與 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,它不受遠端 - SSH 支援。
Podman
Podman 版本 5+ 大部分相容 Docker 的 CLI 命令。要使用 Podman,請在 Linux、Windows 或 macOS 上將Docker 路徑 (dev.containers.dockerPath) 設定更新為 podman
。
Podman 也有一個 podman compose
命令,但這需要一個 compose 提供程式,可以是 Docker Compose 或 Podman Compose。
Linux
如果你的本地機器上使用 Linux,或者已經有一臺可以透過 SSH 訪問的遠端 Linux 機器,你可以參考 Docker 文件以瞭解如何在 Linux 上安裝 Docker,其中包含每個發行版的具體資訊。
Cloud-Init VM
你可以將 遠端 - 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
你可以在在遠端 Docker 主機上開發文件中瞭解有關將遠端 - SSH 與開發容器一起使用的更多資訊。
其他容器引擎
你可以透過 vscode-remote-release 儲存庫開啟或檢視對其他容器引擎的支援請求。你已經可以探索幾個功能請求: