2. 安装 Boot2Docker
现在我们运行安装文件,它会安装 Window Docker 客户端、用于 Windows 的 Git(MSYS-git)、VirtualBox、Boot2Docker Linux ISO 以及 Boot2Docker 管理工具,这些对于开箱即用地运行全功能的 Docker 引擎都至关重要。
3. 运行 Boot2Docker
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fuwuqi/)安装完成必要的组件之后,我们从桌面上的Boot2Docker Start快捷方式启动 Boot2Docker。它会要求你输入以后用于验证的 SSH 密钥。然后会启动一个配置好的用于管理在虚拟机中运行的 Docker 的 unix shell。
为了检查是否正确配置,运行下面的 docker version 命令。
代码如下:
docker version
4. 运行 Docker
由于 Boot2Docker Start 自动启动了一个已经正确设置好环境变量的 shell,我们可以马上开始使用 Docker。请注意,如果我们要将 Boot2Docker 作为一个远程 Docker 守护进程,那么不要在 docker 命令之前加 sudo。
现在,让我们来试试 hello-world 例子镜像,它会下载 hello-world 镜像,运行并输出 "Hello from Docker" 信息。
代码如下:
$ docker run hello-world
5. 使用命令提示符(CMD) 运行 Docker
现在,如果你想开始用命令提示符使用 Docker,你可以打开命令提示符(CMD.exe)。由于 Boot2Docker 要求 ssh.exe 在 PATH 中,我们需要在命令提示符中输入以下命令使得 %PATH% 环境变量中包括 Git 安装目录下的 bin 文件夹。
代码如下:
set PATH=%PATH%;"c:Program Files (x86)Gitbin"
运行上面的命令之后,我们可以在命令提示符中运行 boot2docker start 启动 Boot2Docker 虚拟机。
代码如下:
boot2docker start
注意: 如果你看到 machine does no exist 的错误信息,就运行 boot2docker init 命令。
然后复制上图中控制台标出命令到 cmd.exe 中为控制台窗口设置环境变量,然后我们就可以像平常一样运行 docker 容器了。
6. 使用 PowerShell 运行 Docker
为了能在 PowerShell 中运行 Docker,我们需要启动一个 PowerShell 窗口并添加 ssh.exe 到 PATH 变量。
代码如下:
$Env:Path = "${Env:Path};c:Program Files (x86)Gitbin"
运行完上面的命令,我们还需要运行
代码如下:
boot2docker start
这会打印用于设置环境变量连接到虚拟机内部运行的 Docker 的 PowerShell 命令。我们只需要在 PowerShell 中运行这些命令就可以和平常一样运行 docker 容器。
7. 用 PUTTY 登录
Boot2Docker 会在%USERPROFILE%.ssh 目录生成和使用用于登录的公共和私有密钥,我们也需要使用这个文件夹中的私有密钥。私有密钥需要转换为 PuTTY 的格式。我们可以通过 puttygen.exe 实现。
我们需要打开 puttygen.exe 并从 %USERPROFILE%.sshid_boot2docker 中导入("File"-"Load" 菜单)私钥,然后点击 "Save Private Key"。然后用保存的文件通过 PuTTY 用 docker@127.0.0.1:2022 登录。
8. Boot2Docker 选项
Boot2Docker 管理工具提供了一些命令,如下所示。
代码如下:
$ boot2docker
Usage: boot2docker.exe [
总结
通过 Docker Windows 客户端使用 Docker 很有趣。Boot2Docker 管理工具是一个能使任何 Docker 容器能像在 Linux 主机上平滑运行的很棒的应用程序。如果你更仔细的话,你会发现 boot2docker 默认用户的用户名是 docker,密码是 tcuser。最新版本的 boot2docker 设置了一个 host-only 的网络适配器提供访问容器的端口。一般来说是 192.168.59.103,但可以通过 VirtualBox 的 DHCP 实现改变。
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fuwuqi/)如果你有任何问题、建议、反馈,请在下面的评论框中写下来然后我们可以改进或者更新我们的内容。非常感谢!Enjoy:-)