安装 Docker 的其他方式
您可以通过以下几种方式使用 Docker 和 Dev Containers 扩展
- 本地安装 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,其中包含按发行版划分的具体信息。
一个问题是 `dockerd` 守护程序由于缺少 `systemd` 或任何其他系统守护程序而无法自动启动。在 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 不支持 Alpine Linux。
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 虚拟机
您可以将 Remote - SSH 扩展与 Dev Containers 结合使用。这使您可以在远程机器(例如 Linux 虚拟机)上安装 Docker。
您可以使用 Cloud-Init 文件(这是行业标准)在虚拟机上自动安装 Docker。例如,您可以通过 Azure CLI 创建 Azure 虚拟机,并在创建时将其设置为使用 `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 命令的示例。请务必将 `
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 存储库查看或提交对其他容器引擎的支持请求。已有多个功能请求供您探索