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

2023年 7月 10日 36.3k 0

Docker 已经在windows7.1和windows 8上通过测试,当然它也可以在低版本的windows上使用。但是你的处理器必须支持硬件虚拟化。

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

为了简化这个过程,我们设计了一个叫 Boot2Docker 的应用程序,你可以通过它来安装虚拟机和运行 Docker。

虽然你使用的是 Windows 的 Docker 客户端,但是 docker 引擎容器依然是运行在 Linux 宿主主机上(现在是通过Virtual box)。直到我们开发了 windows 版本的 Docker 引擎,你只需要在你的 Windows 主机上启动一个 Linux 容器。

安装

  • 下载最新版本的Docker for Windows Installer
  • 运行安装文件,它将会安装virtualbox、MSYS-git boot2docker Linux镜像和Boot2Docker的管理工具。
  • 从桌面上或者Program Files中找到Boot2Docker for Windows,运行 Boot2Docker Start 脚本。这个脚本会要求你输入 ssh 密钥密码 – 可以简单点(但是起码看起来比较安全),然后只需要按[Enter]按钮即可。
  • Boot2Docker Start 将启动一个 Unix shell 来配置和管理运行在虚拟主机中的 Docker,运行 docker version 来查看它是否正常工作。
  • Windows 安装 Docker,处理器必须支持硬件虚拟化

    运行 Docker

    注意:如果你使用的是一个远程的 Docker 进程,像 Boot2docker ,你就不需要像前边的文档实例中那样在输入 Docker 命令之前输入 sudo

    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 的 bin 目录 (其中包含了 ssh.exe) 配置到我们的 %PATH% 环境变量中,运行如下命令:

    set PATH=%PATH%;"c:Program Files (x86)Gitbin"

    现在,我们可以运行 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)Gitbin"

    之后,运行 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 Installer
    • 运行安装程序,这将升级 Boot2Docker 管理工具
    • 打开终端输入如下的命令来升级你现有的虚拟机: $ 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 site

    使用PUTTY登陆来代替CMD命令行

    Boot2Docker使用 %HOMEPATH%.ssh 目录来生成你的共有和私有密钥。同样登陆的时候你也需要使用这个目录下的私有密钥。

    这个私有密钥需要转换成 PuTTY 所需要的格式。

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

  • 打开 puttygen.exe 找到(”File”->”Load”)按钮来加载 %HOMEPATH%.sshid_boot2docker 私有密钥文件。
  • 点击"Save Private Key"按钮。
  • 在PUTTY中使用刚才保存的文件来登陆 docker@127.0.0.1:2022
  • 参考

    如果你已经运行 Docker 主机或者你不希望使用 Boot2docker 安装,你可以安装 docker.exe 使用非官方的包管理器 Chocolately。了解更多新,请查看 Docker package on Chocolatey。

    相关文章

    服务器端口转发,带你了解服务器端口转发
    服务器开放端口,服务器开放端口的步骤
    产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
    如何使用 WinGet 下载 Microsoft Store 应用
    百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
    百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

    发布评论