Code前端首页关于Code前端联系我们

要在Windows上安装Docker,处理器必须支持硬件虚拟化

terry 2年前 (2023-09-28) 阅读数 83 #未命名

Docker已经在Windows 7.1和Windows 8上进行了测试。当然,它也可以在较低版本的Windows上使用。但你的处理器必须支持硬件虚拟化。

Docker引擎使用Linux内核特性,因此我们需要在Windows上使用轻量级虚拟机(VM)来运行Docker。我们使用适用于 Windows 的 Docker 客户端来控制 Docker 虚拟化引擎的构建、运行和管理。

为了简化此过程,我们开发了一个名为 Boot2Docker 的应用程序,它允许您安装虚拟机并运行 Docker。

即使您使用 Windows Docker 客户端,docker 引擎容器仍然在 Linux 主机上运行(现在通过 Virtual Box)。在我们开发出 Windows 版本的 Docker 引擎之前,您所需要做的就是在 Windows 主机上启动一个 Linux 容器。

安装

  1. 下载最新版本的Docker for Windows Installer
  2. 运行安装文件,它将安装virtualbox、MSYS-git boot2docker Linux镜像和Boot2Docker管理工具。
  3. 从桌面或程序文件中找到 Boot2Docker for Windows 并运行 Boot2Docker Start 脚本。该脚本将要求您输入 ssh 密钥密码 - 保持简单(但至少看起来更安全),然后单击 [Enter] 按钮。
  4. Boot2Docker Start 将启动 Unix shell 来配置和管理在虚拟主机中运行的 Docker。运行docker版本看看是否可以正常运行。

Windows 安装 Docker,处理器必须支持硬件虚拟化

运行 Docker

注意:如果您使用的是外部 Docker 进程,例如 Boot2docker,则无需在输入之前的 Docker 示例命令 su 之前输入 Docker 示例命令。

Boot2docker start将自动启动shell命令框并配置环境变量,以便您可以立即使用Docker:

让我们尝试运行hello-world示例。运行:

$ docker run hello-world

这将下载一个非常小的 hello-world 图像并打印消息 Hello from Docker.

使用 Windows 命令行(cmd.exe)管理正在运行的 Docker

启动 Windows 命令行(cmd.exe)。

运行 Boot2docker 命令,该命令需要 Windows PATH 环境变量包含 ssh.exe。因此,我们需要将已安装的Git(包含ssh.exe)的bin目录配置到我们的环境变量%PATH%并运行以下命令:

set PATH=%PATH%;"c:\Program Files (x86)\Git\bin"

现在我们可以运行命令boot2docker start

启动 Boot2docker 虚拟机。 (如果出现虚拟主机不存在的错误信息,请运行命令boot2docker init)。将上述命令复制到cmd.exe中,设置Windows控制台的环境变量,然后就可以运行docker命令了,例如 docker ps :

Windows 安装 Docker,处理器必须支持硬件虚拟化

在PowerShell中使用Docker

启动PowerShell ,您需要将 ssh.exe 添加到 PATH。

$Env:Path = "${Env:Path};c:\Program Files (x86)\Git\bin"

然后运行命令行boot2docker start,它将打印PowerShell命令。这些命令用于设置环境变量以连接到虚拟机中运行的 Docker。运行这些命令,然后就可以运行 docker 命令了,例如 docker ps :

Windows 安装 Docker,处理器必须支持硬件虚拟化

提示:你可以使用 boot2docker shellinit | Invoke-Expression 设置环境变量。而不是复制粘贴 Powershell 命令。

真实细节

boot2docker管理工具提供以下命令:

$ boot2docker
Usage: boot2docker.exe [] {help|init|up|ssh|save|down|poweroff|reset|restart|config|status|info|ip|shellinit|delete|download|upgrade|version} []

升级

  • 加载最新的Docker for Windows安装程序运行EN升级工具2。在终端中输入以下命令来升级现有虚拟机: $ boot2docker stop $ boot2docker download $ boot2docker start

容器端口重定向

boot2Docker 的默认用户是 docker tcuser

最新版本的boot2docker可以设置网络适配器来提供对容器的端口访问。

如果您正在运行暴露内部端口的容器

docker run --rm -i -t -p 80:80 nginx

当您需要使用IP地址访问Nginx服务器时,可以使用以下命令查看IP。

$ boot2docker ip

通常是192.168.59.103,但可以通过virtualbox的dhcp来更改。

有关更多信息,请查看 Boot2Docker 站点

使用 PUTTY 登录而不是 CMD 命令行

Boot2Docker 使用%HOMEPATH% 目录 和您的私有目录。登录时还必须使用此目录中的私钥。

此私钥必须转换为PuTTY所需的格式。

可以使用puttygen来生成,具体操作如下:

  1. 打开puttygen.exe查找按钮(“文件”->“加载”)加载%HOMEPATH%。 ssh\id_boot2docker 私钥文件。
  2. 单击“保存私钥”按钮。
  3. 使用PUTTY中刚刚保存的文件登录docker@127.0.0.1:2022

参考

如果你已经在运行Docker主机或者不想使用❀Boot安装,可以使用非官方包管理器 Chocolately 安装 docker.exe。有关更多最新信息,请查看 Chocolatey 上的 Docker 包。

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

热门