🚀 在 VS Code 中取得

安裝 Docker 的其他方式

您可以使用 Dev Containers 擴充功能以幾種方式搭配 Docker

  • 本機安裝的 Docker。
  • 安裝在另一部機器或遠端環境中的 Docker。
    • 您只需要在遠端主機上安裝 Docker,而不需要在本機安裝 Docker。
  • 其他相容於 Docker 的 CLI,安裝在本機或遠端環境中。
    • 例如,Rancher Desktop 是另一種安裝 Docker 的方式,可在 Windows、macOS 和 Linux 上提供容器管理和 Kubernetes。
      • 由於 Rancher Desktop 透過 Moby 支援 Docker CLI,因此您可以搭配 Dev Containers 擴充功能使用。您可以在 Rancher Desktop 的指南中學習如何開始使用。
    • 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 context 並使其成為作用中 context。您可能也需要在執行 colima start 之前安裝 dockerdocker-compose CLI,才能使此設定正常運作。

注意:Colima 使用 Alpine Linux,Remote - SSH 不支援 Alpine Linux。

Podman

Podman 5+ 版本大致上與 Docker 的 CLI 命令相容。若要使用 Podman,請在 Linux、Windows 或 macOS 上將 Docker 路徑dev.containers.dockerPath)設定更新為 podman

Docker Path setting

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> 更新為靠近您的資料中心(例如,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

您可以在在遠端 Docker 主機上開發文件中,深入了解如何將 Remote - SSH 與 Dev Containers 搭配使用。

其他容器引擎

您可以透過 vscode-remote-release 存放庫開啟或檢閱對其他容器引擎支援的要求。您已經可以探索多個功能要求