本站点文档内容均翻译自code.visualstudio.com,仅供个人学习,如有差异请以官网为准。

安装Docker的替代方法

您可以使用Docker与开发容器扩展以几种方式:

  • Docker 已在本地安装。
  • Docker 已安装在另一台机器或远程环境中。
    • 你只需要在远程主机上安装Docker,而不是在本地安装Docker。
  • 其他符合Docker标准的本地或远程环境安装的CLIs。
    • 例如,Rancher Desktop是另一种安装Docker的方法,提供在Windows、macOS和Linux上的容器管理和Kubernetes。
      • 由于 Rancher Desktop 通过 Moby 支持 Docker CLI,您可以使用 Dev Containers 扩展。您可以在 Rancher Desktop 的 指南 中了解如何开始。
    • Dev Containers 与 CLIs 交互;它不假设容器引擎的工作方式,并且不直接与容器引擎或守护进程交互。
    • 请注意,其他符合Docker标准的命令行界面(CLI)官方不提供支持。

继续阅读以了解您可以用来安装和使用Docker或符合Docker规范的CLI的替代方法。

Windows: Windows 子系统 for Linux (WSL)

在 Windows 上,你可以通过 WSL 扩展使用在 WSL 中安装的 Docker。你可以参考 Docker 文档 在 Linux 上安装 Docker,其中包含 每个发行版的特定信息

一个问题是, dockerd由于缺少,守护进程无法自动启动系统守护进程或任何其他系统守护进程。在WSL版本0.67.6及更高版本中wsl --版本),您可以启用支持系统守护进程使用较旧的WSL版本时,你可以使用Distrod来创建或更新现有的WSL发行版系统守护进程输入:.

macOS: 科利马

Colima 在 macOS 上提供容器运行时。建议使用 Colima v0.2.2 或更高版本,以便 VS Code 能够正确识别通过 Colima 运行的容器。

科利马路自动设置科利马 Docker 上下文 并将其设置为活动上下文。您可能还希望安装 DockerDocker Compose在运行之前使用CLIs科利马开始为了使此设置能够正常工作。

注意:Colima 使用 Alpine Linux,Remote - SSH 不支持该操作系统。

波德曼

Podman 版本5+大部分与Docker的CLI命令兼容。要使用Podman,请更新Docker Path (

dev.containers.dockerPath
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
) 设置为Podman在 Linux、Windows 或 macOS 上。

Docker 路径设置

Podman 有一个Podman Compose command 也可以,但这需要一个编排提供商,可以是Docker Compose或Podman Compose.

Linux

如果你的本地机器上使用的是 Linux,或者你已经有一个可以通过 SSH 访问的远程 Linux 机器,你可以参考 Docker 文档 来在 Linux 上安装 Docker,其中包含 每个发行版的特定信息

云初始化虚拟机

您可以使用远程 - SSH扩展与开发容器一起使用。这使您能够在远程机器上(例如 Linux 虚拟机)安装 Docker。

您可以使用Cloud-Init文件(这是行业标准)来自动安装Docker在VM上。例如,您可以使用Azure CLI创建一个Azure VM,并设置它使用一个cloud-init.txt在创建期间。

cloud-init.txt文件:

#云配置

apt:
:
    docker.list:
: deb [arch=amd64] https://download.docker.com/linux/ubuntu $RELEASE stable
      keyid: 9DC858229FC7DD38854AE2D88D81803C0EBFCD88

软件包:
  - docker-ce
  - docker-ce-cli

群组:
  - docker

系统信息:
  默认用户:
: [docker]

以下是 Azure CLI 命令的示例。请确保更新<地点>到离您最近的数据中心(例如,东美西欧):

az 登录

az 创建 --名称 开发服务器 --位置 <位置-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 仓库 开启或查看其他容器引擎的请求支持。已经有几个功能请求您可以探索: