現已釋出!閱讀關於 11 月新增功能和修復的內容。

安裝 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 上下文並使其成為活動上下文。為了使此設定正常工作,您可能還想在執行 colima start 之前安裝 dockerdocker-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 命令,但這需要一個 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 儲存庫開啟或檢視對其他容器引擎支援的請求。您已經可以探索幾個功能請求

© . This site is unofficial and not affiliated with Microsoft.